usebridge-api 0.1.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.

Potentially problematic release.


This version of usebridge-api might be problematic. Click here for more details.

Files changed (892) hide show
  1. rtaylor_205/__init__.py +1606 -0
  2. rtaylor_205/_default_clients.py +32 -0
  3. rtaylor_205/billing/__init__.py +135 -0
  4. rtaylor_205/billing/client.py +101 -0
  5. rtaylor_205/billing/estimate_charges/__init__.py +82 -0
  6. rtaylor_205/billing/estimate_charges/client.py +427 -0
  7. rtaylor_205/billing/estimate_charges/raw_client.py +471 -0
  8. rtaylor_205/billing/estimate_charges/types/__init__.py +80 -0
  9. rtaylor_205/billing/estimate_charges/types/estimate_charge_authorize_stripe_v_1_response.py +40 -0
  10. rtaylor_205/billing/estimate_charges/types/estimate_charge_authorize_stripe_v_1_response_status.py +25 -0
  11. rtaylor_205/billing/estimate_charges/types/estimate_charge_authorize_stripe_v_1_response_stripe.py +22 -0
  12. rtaylor_205/billing/estimate_charges/types/estimate_charge_cancel_stripe_v_1_response.py +40 -0
  13. rtaylor_205/billing/estimate_charges/types/estimate_charge_cancel_stripe_v_1_response_status.py +25 -0
  14. rtaylor_205/billing/estimate_charges/types/estimate_charge_cancel_stripe_v_1_response_stripe.py +22 -0
  15. rtaylor_205/billing/estimate_charges/types/estimate_charge_capture_stripe_v_1_response.py +40 -0
  16. rtaylor_205/billing/estimate_charges/types/estimate_charge_capture_stripe_v_1_response_status.py +25 -0
  17. rtaylor_205/billing/estimate_charges/types/estimate_charge_capture_stripe_v_1_response_stripe.py +22 -0
  18. rtaylor_205/billing/estimate_charges/types/estimate_charge_create_v_1_request.py +27 -0
  19. rtaylor_205/billing/estimate_charges/types/estimate_charge_create_v_1_response.py +38 -0
  20. rtaylor_205/billing/estimate_charges/types/estimate_charge_create_v_1_response_status.py +25 -0
  21. rtaylor_205/billing/estimate_charges/types/estimate_charge_refund_stripe_v_1_response.py +40 -0
  22. rtaylor_205/billing/estimate_charges/types/estimate_charge_refund_stripe_v_1_response_status.py +25 -0
  23. rtaylor_205/billing/estimate_charges/types/estimate_charge_refund_stripe_v_1_response_stripe.py +22 -0
  24. rtaylor_205/billing/fees/__init__.py +76 -0
  25. rtaylor_205/billing/fees/client.py +302 -0
  26. rtaylor_205/billing/fees/raw_client.py +322 -0
  27. rtaylor_205/billing/fees/types/__init__.py +74 -0
  28. rtaylor_205/billing/fees/types/fee_capture_stripe_v_1_response.py +39 -0
  29. rtaylor_205/billing/fees/types/fee_capture_stripe_v_1_response_status.py +7 -0
  30. rtaylor_205/billing/fees/types/fee_capture_stripe_v_1_response_stripe.py +22 -0
  31. rtaylor_205/billing/fees/types/fee_capture_stripe_v_1_response_type.py +5 -0
  32. rtaylor_205/billing/fees/types/fee_create_v_1_request.py +30 -0
  33. rtaylor_205/billing/fees/types/fee_create_v_1_request_type.py +5 -0
  34. rtaylor_205/billing/fees/types/fee_create_v_1_response.py +37 -0
  35. rtaylor_205/billing/fees/types/fee_create_v_1_response_status.py +7 -0
  36. rtaylor_205/billing/fees/types/fee_create_v_1_response_type.py +5 -0
  37. rtaylor_205/billing/fees/types/fee_refund_stripe_v_1_response.py +39 -0
  38. rtaylor_205/billing/fees/types/fee_refund_stripe_v_1_response_status.py +7 -0
  39. rtaylor_205/billing/fees/types/fee_refund_stripe_v_1_response_stripe.py +22 -0
  40. rtaylor_205/billing/fees/types/fee_refund_stripe_v_1_response_type.py +5 -0
  41. rtaylor_205/billing/raw_client.py +13 -0
  42. rtaylor_205/billing/setup_intent/__init__.py +37 -0
  43. rtaylor_205/billing/setup_intent/client.py +115 -0
  44. rtaylor_205/billing/setup_intent/raw_client.py +116 -0
  45. rtaylor_205/billing/setup_intent/types/__init__.py +38 -0
  46. rtaylor_205/billing/setup_intent/types/setup_intent_create_stripe_v_1_request.py +21 -0
  47. rtaylor_205/billing/setup_intent/types/setup_intent_create_stripe_v_1_response.py +24 -0
  48. rtaylor_205/client.py +526 -0
  49. rtaylor_205/consent/__init__.py +64 -0
  50. rtaylor_205/consent/client.py +241 -0
  51. rtaylor_205/consent/raw_client.py +250 -0
  52. rtaylor_205/consent/types/__init__.py +62 -0
  53. rtaylor_205/consent/types/patient_consent_create_v_1_request.py +31 -0
  54. rtaylor_205/consent/types/patient_consent_create_v_1_request_type.py +7 -0
  55. rtaylor_205/consent/types/patient_consent_create_v_1_response.py +34 -0
  56. rtaylor_205/consent/types/patient_consent_create_v_1_response_status.py +5 -0
  57. rtaylor_205/consent/types/patient_consent_create_v_1_response_type.py +7 -0
  58. rtaylor_205/consent/types/patient_consents_list_v_1_response.py +28 -0
  59. rtaylor_205/consent/types/patient_consents_list_v_1_response_item.py +34 -0
  60. rtaylor_205/consent/types/patient_consents_list_v_1_response_item_status.py +5 -0
  61. rtaylor_205/consent/types/patient_consents_list_v_1_response_item_type.py +7 -0
  62. rtaylor_205/consent_versions/__init__.py +46 -0
  63. rtaylor_205/consent_versions/client.py +116 -0
  64. rtaylor_205/consent_versions/raw_client.py +121 -0
  65. rtaylor_205/consent_versions/types/__init__.py +44 -0
  66. rtaylor_205/consent_versions/types/consent_versions_list_v_1_response.py +28 -0
  67. rtaylor_205/consent_versions/types/consent_versions_list_v_1_response_item.py +21 -0
  68. rtaylor_205/consent_versions/types/consent_versions_list_v_1_response_item_type.py +7 -0
  69. rtaylor_205/core/__init__.py +127 -0
  70. rtaylor_205/core/api_error.py +23 -0
  71. rtaylor_205/core/client_wrapper.py +123 -0
  72. rtaylor_205/core/datetime_utils.py +70 -0
  73. rtaylor_205/core/file.py +67 -0
  74. rtaylor_205/core/force_multipart.py +18 -0
  75. rtaylor_205/core/http_client.py +839 -0
  76. rtaylor_205/core/http_response.py +59 -0
  77. rtaylor_205/core/http_sse/__init__.py +42 -0
  78. rtaylor_205/core/http_sse/_api.py +148 -0
  79. rtaylor_205/core/http_sse/_decoders.py +61 -0
  80. rtaylor_205/core/http_sse/_exceptions.py +7 -0
  81. rtaylor_205/core/http_sse/_models.py +17 -0
  82. rtaylor_205/core/jsonable_encoder.py +120 -0
  83. rtaylor_205/core/logging.py +107 -0
  84. rtaylor_205/core/parse_error.py +36 -0
  85. rtaylor_205/core/pydantic_utilities.py +508 -0
  86. rtaylor_205/core/query_encoder.py +58 -0
  87. rtaylor_205/core/remove_none_from_dict.py +11 -0
  88. rtaylor_205/core/request_options.py +35 -0
  89. rtaylor_205/core/serialization.py +347 -0
  90. rtaylor_205/environment.py +8 -0
  91. rtaylor_205/events/__init__.py +55 -0
  92. rtaylor_205/events/client.py +226 -0
  93. rtaylor_205/events/raw_client.py +240 -0
  94. rtaylor_205/events/types/__init__.py +53 -0
  95. rtaylor_205/events/types/event_get_v_1_response.py +34 -0
  96. rtaylor_205/events/types/event_get_v_1_response_event_type.py +29 -0
  97. rtaylor_205/events/types/events_list_v_1_order_created_at.py +5 -0
  98. rtaylor_205/events/types/events_list_v_1_response.py +28 -0
  99. rtaylor_205/events/types/events_list_v_1_response_item.py +34 -0
  100. rtaylor_205/events/types/events_list_v_1_response_item_event_type.py +29 -0
  101. rtaylor_205/notes/__init__.py +319 -0
  102. rtaylor_205/notes/client.py +471 -0
  103. rtaylor_205/notes/raw_client.py +482 -0
  104. rtaylor_205/notes/types/__init__.py +401 -0
  105. rtaylor_205/notes/types/note_addenda_list_v_1_order_created_at.py +5 -0
  106. rtaylor_205/notes/types/note_addenda_list_v_1_response.py +28 -0
  107. rtaylor_205/notes/types/note_addenda_list_v_1_response_item.py +32 -0
  108. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data.py +133 -0
  109. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_allergy.py +3 -0
  110. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_icd_10.py +3 -0
  111. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_medication.py +3 -0
  112. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_monitoring_data_element_value.py +3 -0
  113. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_monitoring_datum.py +23 -0
  114. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_scored_assessment.py +23 -0
  115. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_data_field_scored_assessments_element_type.py +7 -0
  116. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_signature.py +24 -0
  117. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_signature_field_provider.py +40 -0
  118. rtaylor_205/notes/types/note_addenda_list_v_1_response_item_signature_field_provider_field_type.py +7 -0
  119. rtaylor_205/notes/types/note_addendum_create_v_1_request.py +27 -0
  120. rtaylor_205/notes/types/note_addendum_create_v_1_request_data.py +133 -0
  121. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_allergy.py +3 -0
  122. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_icd_10.py +3 -0
  123. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_medication.py +3 -0
  124. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_monitoring_data_element_value.py +3 -0
  125. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_monitoring_datum.py +23 -0
  126. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_scored_assessment.py +23 -0
  127. rtaylor_205/notes/types/note_addendum_create_v_1_request_data_field_scored_assessments_element_type.py +7 -0
  128. rtaylor_205/notes/types/note_addendum_create_v_1_request_signature.py +23 -0
  129. rtaylor_205/notes/types/note_addendum_create_v_1_response.py +32 -0
  130. rtaylor_205/notes/types/note_addendum_create_v_1_response_data.py +133 -0
  131. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_allergy.py +3 -0
  132. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_icd_10.py +3 -0
  133. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_medication.py +3 -0
  134. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_monitoring_data_element_value.py +3 -0
  135. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_monitoring_datum.py +23 -0
  136. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_scored_assessment.py +23 -0
  137. rtaylor_205/notes/types/note_addendum_create_v_1_response_data_field_scored_assessments_element_type.py +7 -0
  138. rtaylor_205/notes/types/note_addendum_create_v_1_response_signature.py +24 -0
  139. rtaylor_205/notes/types/note_addendum_create_v_1_response_signature_field_provider.py +40 -0
  140. rtaylor_205/notes/types/note_addendum_create_v_1_response_signature_field_provider_field_type.py +7 -0
  141. rtaylor_205/notes/types/note_create_v_1_request.py +28 -0
  142. rtaylor_205/notes/types/note_create_v_1_request_data.py +129 -0
  143. rtaylor_205/notes/types/note_create_v_1_request_data_field_allergy.py +3 -0
  144. rtaylor_205/notes/types/note_create_v_1_request_data_field_icd_10.py +3 -0
  145. rtaylor_205/notes/types/note_create_v_1_request_data_field_medication.py +3 -0
  146. rtaylor_205/notes/types/note_create_v_1_request_data_field_monitoring_data_element_value.py +3 -0
  147. rtaylor_205/notes/types/note_create_v_1_request_data_field_monitoring_datum.py +23 -0
  148. rtaylor_205/notes/types/note_create_v_1_request_data_field_scored_assessment.py +23 -0
  149. rtaylor_205/notes/types/note_create_v_1_request_data_field_scored_assessments_element_type.py +7 -0
  150. rtaylor_205/notes/types/note_create_v_1_request_signature.py +23 -0
  151. rtaylor_205/notes/types/note_create_v_1_response.py +35 -0
  152. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data.py +137 -0
  153. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_allergy.py +3 -0
  154. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_icd_10.py +3 -0
  155. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_medication.py +3 -0
  156. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_monitoring_data_element_value.py +3 -0
  157. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_monitoring_datum.py +23 -0
  158. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_scored_assessment.py +23 -0
  159. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_data_field_scored_assessments_element_type.py +7 -0
  160. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_signature.py +24 -0
  161. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_signature_field_provider.py +40 -0
  162. rtaylor_205/notes/types/note_create_v_1_response_addenda_element_signature_field_provider_field_type.py +7 -0
  163. rtaylor_205/notes/types/note_create_v_1_response_addendum.py +32 -0
  164. rtaylor_205/notes/types/note_create_v_1_response_data.py +129 -0
  165. rtaylor_205/notes/types/note_create_v_1_response_data_field_allergy.py +3 -0
  166. rtaylor_205/notes/types/note_create_v_1_response_data_field_icd_10.py +3 -0
  167. rtaylor_205/notes/types/note_create_v_1_response_data_field_medication.py +3 -0
  168. rtaylor_205/notes/types/note_create_v_1_response_data_field_monitoring_data_element_value.py +3 -0
  169. rtaylor_205/notes/types/note_create_v_1_response_data_field_monitoring_datum.py +23 -0
  170. rtaylor_205/notes/types/note_create_v_1_response_data_field_scored_assessment.py +23 -0
  171. rtaylor_205/notes/types/note_create_v_1_response_data_field_scored_assessments_element_type.py +7 -0
  172. rtaylor_205/notes/types/note_create_v_1_response_signature.py +22 -0
  173. rtaylor_205/notes/types/note_create_v_1_response_signature_field_provider.py +40 -0
  174. rtaylor_205/notes/types/note_create_v_1_response_signature_field_provider_field_type.py +7 -0
  175. rtaylor_205/notes/types/note_get_v_1_response.py +35 -0
  176. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data.py +135 -0
  177. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_allergy.py +3 -0
  178. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_icd_10.py +3 -0
  179. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_medication.py +3 -0
  180. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_monitoring_data_element_value.py +3 -0
  181. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_monitoring_datum.py +23 -0
  182. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_scored_assessment.py +23 -0
  183. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_data_field_scored_assessments_element_type.py +7 -0
  184. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_signature.py +24 -0
  185. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_signature_field_provider.py +40 -0
  186. rtaylor_205/notes/types/note_get_v_1_response_addenda_element_signature_field_provider_field_type.py +7 -0
  187. rtaylor_205/notes/types/note_get_v_1_response_addendum.py +32 -0
  188. rtaylor_205/notes/types/note_get_v_1_response_data.py +129 -0
  189. rtaylor_205/notes/types/note_get_v_1_response_data_field_allergy.py +3 -0
  190. rtaylor_205/notes/types/note_get_v_1_response_data_field_icd_10.py +3 -0
  191. rtaylor_205/notes/types/note_get_v_1_response_data_field_medication.py +3 -0
  192. rtaylor_205/notes/types/note_get_v_1_response_data_field_monitoring_data_element_value.py +3 -0
  193. rtaylor_205/notes/types/note_get_v_1_response_data_field_monitoring_datum.py +23 -0
  194. rtaylor_205/notes/types/note_get_v_1_response_data_field_scored_assessment.py +23 -0
  195. rtaylor_205/notes/types/note_get_v_1_response_data_field_scored_assessments_element_type.py +7 -0
  196. rtaylor_205/notes/types/note_get_v_1_response_signature.py +22 -0
  197. rtaylor_205/notes/types/note_get_v_1_response_signature_field_provider.py +38 -0
  198. rtaylor_205/notes/types/note_get_v_1_response_signature_field_provider_field_type.py +7 -0
  199. rtaylor_205/patient_token/__init__.py +37 -0
  200. rtaylor_205/patient_token/client.py +109 -0
  201. rtaylor_205/patient_token/raw_client.py +112 -0
  202. rtaylor_205/patient_token/types/__init__.py +38 -0
  203. rtaylor_205/patient_token/types/patient_token_create_v_1_request.py +21 -0
  204. rtaylor_205/patient_token/types/patient_token_create_v_1_response.py +26 -0
  205. rtaylor_205/patients/__init__.py +201 -0
  206. rtaylor_205/patients/client.py +442 -0
  207. rtaylor_205/patients/raw_client.py +523 -0
  208. rtaylor_205/patients/types/__init__.py +128 -0
  209. rtaylor_205/patients/types/patient_stream_v_1_response.py +50 -0
  210. rtaylor_205/patients/types/patient_stream_v_1_response_account.py +21 -0
  211. rtaylor_205/patients/types/patient_stream_v_1_response_account_field_status.py +5 -0
  212. rtaylor_205/patients/types/patient_stream_v_1_response_address.py +38 -0
  213. rtaylor_205/patients/types/patient_stream_v_1_response_address_field_country.py +5 -0
  214. rtaylor_205/patients/types/patient_stream_v_1_response_address_field_state.py +60 -0
  215. rtaylor_205/patients/types/patient_stream_v_1_response_coverage.py +23 -0
  216. rtaylor_205/patients/types/patient_stream_v_1_response_metadata.py +23 -0
  217. rtaylor_205/patients/types/patient_update_v_1_request.py +51 -0
  218. rtaylor_205/patients/types/patient_update_v_1_request_address.py +34 -0
  219. rtaylor_205/patients/types/patient_update_v_1_request_address_field_country.py +5 -0
  220. rtaylor_205/patients/types/patient_update_v_1_request_address_field_state.py +60 -0
  221. rtaylor_205/patients/types/patient_update_v_1_request_coverage.py +30 -0
  222. rtaylor_205/patients/types/patient_update_v_1_request_metadata.py +23 -0
  223. rtaylor_205/patients/types/patient_update_v_1_response.py +50 -0
  224. rtaylor_205/patients/types/patient_update_v_1_response_account.py +21 -0
  225. rtaylor_205/patients/types/patient_update_v_1_response_account_field_status.py +5 -0
  226. rtaylor_205/patients/types/patient_update_v_1_response_address.py +38 -0
  227. rtaylor_205/patients/types/patient_update_v_1_response_address_field_country.py +5 -0
  228. rtaylor_205/patients/types/patient_update_v_1_response_address_field_state.py +60 -0
  229. rtaylor_205/patients/types/patient_update_v_1_response_coverage.py +23 -0
  230. rtaylor_205/patients/types/patient_update_v_1_response_metadata.py +23 -0
  231. rtaylor_205/patients/types/patients_list_v_1_response.py +28 -0
  232. rtaylor_205/patients/types/patients_list_v_1_response_item.py +50 -0
  233. rtaylor_205/patients/types/patients_list_v_1_response_item_account.py +21 -0
  234. rtaylor_205/patients/types/patients_list_v_1_response_item_account_field_status.py +5 -0
  235. rtaylor_205/patients/types/patients_list_v_1_response_item_address.py +38 -0
  236. rtaylor_205/patients/types/patients_list_v_1_response_item_address_field_country.py +5 -0
  237. rtaylor_205/patients/types/patients_list_v_1_response_item_address_field_state.py +60 -0
  238. rtaylor_205/patients/types/patients_list_v_1_response_item_coverage.py +23 -0
  239. rtaylor_205/patients/types/patients_list_v_1_response_item_metadata.py +23 -0
  240. rtaylor_205/patients/v_2/__init__.py +103 -0
  241. rtaylor_205/patients/v_2/client.py +275 -0
  242. rtaylor_205/patients/v_2/raw_client.py +287 -0
  243. rtaylor_205/patients/v_2/types/__init__.py +101 -0
  244. rtaylor_205/patients/v_2/types/patient_create_v_2_request.py +44 -0
  245. rtaylor_205/patients/v_2/types/patient_create_v_2_request_address.py +34 -0
  246. rtaylor_205/patients/v_2/types/patient_create_v_2_request_address_field_country.py +5 -0
  247. rtaylor_205/patients/v_2/types/patient_create_v_2_request_address_field_state.py +60 -0
  248. rtaylor_205/patients/v_2/types/patient_create_v_2_request_coverage.py +30 -0
  249. rtaylor_205/patients/v_2/types/patient_create_v_2_request_metadata.py +23 -0
  250. rtaylor_205/patients/v_2/types/patient_create_v_2_response.py +50 -0
  251. rtaylor_205/patients/v_2/types/patient_create_v_2_response_account.py +21 -0
  252. rtaylor_205/patients/v_2/types/patient_create_v_2_response_account_field_status.py +5 -0
  253. rtaylor_205/patients/v_2/types/patient_create_v_2_response_address.py +38 -0
  254. rtaylor_205/patients/v_2/types/patient_create_v_2_response_address_field_country.py +5 -0
  255. rtaylor_205/patients/v_2/types/patient_create_v_2_response_address_field_state.py +60 -0
  256. rtaylor_205/patients/v_2/types/patient_create_v_2_response_coverage.py +23 -0
  257. rtaylor_205/patients/v_2/types/patient_create_v_2_response_metadata.py +23 -0
  258. rtaylor_205/patients/v_2/types/patient_get_v_2_response.py +50 -0
  259. rtaylor_205/patients/v_2/types/patient_get_v_2_response_account.py +21 -0
  260. rtaylor_205/patients/v_2/types/patient_get_v_2_response_account_field_status.py +5 -0
  261. rtaylor_205/patients/v_2/types/patient_get_v_2_response_address.py +38 -0
  262. rtaylor_205/patients/v_2/types/patient_get_v_2_response_address_field_country.py +5 -0
  263. rtaylor_205/patients/v_2/types/patient_get_v_2_response_address_field_state.py +60 -0
  264. rtaylor_205/patients/v_2/types/patient_get_v_2_response_coverage.py +23 -0
  265. rtaylor_205/patients/v_2/types/patient_get_v_2_response_metadata.py +23 -0
  266. rtaylor_205/payer_groups/__init__.py +78 -0
  267. rtaylor_205/payer_groups/client.py +208 -0
  268. rtaylor_205/payer_groups/health/__init__.py +52 -0
  269. rtaylor_205/payer_groups/health/client.py +137 -0
  270. rtaylor_205/payer_groups/health/raw_client.py +139 -0
  271. rtaylor_205/payer_groups/health/types/__init__.py +50 -0
  272. rtaylor_205/payer_groups/health/types/health_events_list_v_1_order_event_at.py +5 -0
  273. rtaylor_205/payer_groups/health/types/health_events_list_v_1_response.py +28 -0
  274. rtaylor_205/payer_groups/health/types/health_events_list_v_1_response_item.py +31 -0
  275. rtaylor_205/payer_groups/health/types/health_events_list_v_1_response_item_previous_status.py +7 -0
  276. rtaylor_205/payer_groups/health/types/health_events_list_v_1_response_item_status.py +5 -0
  277. rtaylor_205/payer_groups/raw_client.py +203 -0
  278. rtaylor_205/payer_groups/types/__init__.py +56 -0
  279. rtaylor_205/payer_groups/types/payer_group_get_v_1_response.py +24 -0
  280. rtaylor_205/payer_groups/types/payer_group_get_v_1_response_health.py +26 -0
  281. rtaylor_205/payer_groups/types/payer_group_get_v_1_response_health_field_status.py +5 -0
  282. rtaylor_205/payer_groups/types/payer_groups_list_v_1_response.py +28 -0
  283. rtaylor_205/payer_groups/types/payer_groups_list_v_1_response_item.py +24 -0
  284. rtaylor_205/payer_groups/types/payer_groups_list_v_1_response_item_health.py +26 -0
  285. rtaylor_205/payer_groups/types/payer_groups_list_v_1_response_item_health_field_status.py +7 -0
  286. rtaylor_205/payers/__init__.py +34 -0
  287. rtaylor_205/payers/client.py +104 -0
  288. rtaylor_205/payers/raw_client.py +102 -0
  289. rtaylor_205/payers/types/__init__.py +34 -0
  290. rtaylor_205/payers/types/payer_get_v_1_response.py +25 -0
  291. rtaylor_205/payments/__init__.py +70 -0
  292. rtaylor_205/payments/client.py +382 -0
  293. rtaylor_205/payments/raw_client.py +395 -0
  294. rtaylor_205/payments/types/__init__.py +68 -0
  295. rtaylor_205/payments/types/payment_create_v_1_request.py +48 -0
  296. rtaylor_205/payments/types/payment_create_v_1_request_type.py +5 -0
  297. rtaylor_205/payments/types/payment_create_v_1_response.py +37 -0
  298. rtaylor_205/payments/types/payment_create_v_1_response_type.py +5 -0
  299. rtaylor_205/payments/types/payment_get_v_1_response.py +37 -0
  300. rtaylor_205/payments/types/payment_get_v_1_response_type.py +5 -0
  301. rtaylor_205/payments/types/payments_list_v_1_filter_type.py +5 -0
  302. rtaylor_205/payments/types/payments_list_v_1_order_paid_at.py +5 -0
  303. rtaylor_205/payments/types/payments_list_v_1_response.py +28 -0
  304. rtaylor_205/payments/types/payments_list_v_1_response_item.py +37 -0
  305. rtaylor_205/payments/types/payments_list_v_1_response_item_type.py +5 -0
  306. rtaylor_205/policies/__init__.py +132 -0
  307. rtaylor_205/policies/client.py +263 -0
  308. rtaylor_205/policies/raw_client.py +308 -0
  309. rtaylor_205/policies/types/__init__.py +89 -0
  310. rtaylor_205/policies/types/policy_get_v_1_response.py +58 -0
  311. rtaylor_205/policies/types/policy_get_v_1_response_error.py +20 -0
  312. rtaylor_205/policies/types/policy_get_v_1_response_latest.py +34 -0
  313. rtaylor_205/policies/types/policy_get_v_1_response_payer.py +25 -0
  314. rtaylor_205/policies/types/policy_get_v_1_response_person.py +29 -0
  315. rtaylor_205/policies/types/policy_get_v_1_response_policy_holder.py +29 -0
  316. rtaylor_205/policies/types/policy_get_v_1_response_relationship.py +5 -0
  317. rtaylor_205/policies/types/policy_get_v_1_response_state.py +60 -0
  318. rtaylor_205/policies/types/policy_get_v_1_response_status.py +7 -0
  319. rtaylor_205/policies/types/policy_stream_v_1_response.py +58 -0
  320. rtaylor_205/policies/types/policy_stream_v_1_response_error.py +20 -0
  321. rtaylor_205/policies/types/policy_stream_v_1_response_latest.py +34 -0
  322. rtaylor_205/policies/types/policy_stream_v_1_response_payer.py +25 -0
  323. rtaylor_205/policies/types/policy_stream_v_1_response_person.py +29 -0
  324. rtaylor_205/policies/types/policy_stream_v_1_response_policy_holder.py +29 -0
  325. rtaylor_205/policies/types/policy_stream_v_1_response_relationship.py +7 -0
  326. rtaylor_205/policies/types/policy_stream_v_1_response_state.py +60 -0
  327. rtaylor_205/policies/types/policy_stream_v_1_response_status.py +7 -0
  328. rtaylor_205/policies/v_2/__init__.py +73 -0
  329. rtaylor_205/policies/v_2/client.py +195 -0
  330. rtaylor_205/policies/v_2/raw_client.py +176 -0
  331. rtaylor_205/policies/v_2/types/__init__.py +71 -0
  332. rtaylor_205/policies/v_2/types/policy_create_v_2_request.py +43 -0
  333. rtaylor_205/policies/v_2/types/policy_create_v_2_request_person.py +31 -0
  334. rtaylor_205/policies/v_2/types/policy_create_v_2_request_state.py +60 -0
  335. rtaylor_205/policies/v_2/types/policy_create_v_2_response.py +63 -0
  336. rtaylor_205/policies/v_2/types/policy_create_v_2_response_error.py +20 -0
  337. rtaylor_205/policies/v_2/types/policy_create_v_2_response_latest.py +34 -0
  338. rtaylor_205/policies/v_2/types/policy_create_v_2_response_payer.py +25 -0
  339. rtaylor_205/policies/v_2/types/policy_create_v_2_response_person.py +29 -0
  340. rtaylor_205/policies/v_2/types/policy_create_v_2_response_policy_holder.py +29 -0
  341. rtaylor_205/policies/v_2/types/policy_create_v_2_response_relationship.py +7 -0
  342. rtaylor_205/policies/v_2/types/policy_create_v_2_response_state.py +60 -0
  343. rtaylor_205/policies/v_2/types/policy_create_v_2_response_status.py +7 -0
  344. rtaylor_205/provider_eligibility/__init__.py +91 -0
  345. rtaylor_205/provider_eligibility/client.py +239 -0
  346. rtaylor_205/provider_eligibility/raw_client.py +231 -0
  347. rtaylor_205/provider_eligibility/types/__init__.py +105 -0
  348. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_request.py +32 -0
  349. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_request_location.py +42 -0
  350. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_request_location_field_country.py +5 -0
  351. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_request_location_field_state.py +60 -0
  352. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response.py +44 -0
  353. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_location.py +42 -0
  354. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_location_field_country.py +5 -0
  355. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_location_field_state.py +60 -0
  356. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_provider.py +40 -0
  357. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_providers_element_type.py +7 -0
  358. rtaylor_205/provider_eligibility/types/provider_eligibility_create_v_1_response_status.py +5 -0
  359. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response.py +44 -0
  360. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_location.py +42 -0
  361. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_location_field_country.py +5 -0
  362. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_location_field_state.py +60 -0
  363. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_provider.py +40 -0
  364. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_providers_element_type.py +7 -0
  365. rtaylor_205/provider_eligibility/types/provider_eligibility_get_v_1_response_status.py +5 -0
  366. rtaylor_205/providers/__init__.py +114 -0
  367. rtaylor_205/providers/client.py +409 -0
  368. rtaylor_205/providers/enrollment/__init__.py +64 -0
  369. rtaylor_205/providers/enrollment/client.py +114 -0
  370. rtaylor_205/providers/enrollment/raw_client.py +110 -0
  371. rtaylor_205/providers/enrollment/types/__init__.py +78 -0
  372. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response.py +33 -0
  373. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups.py +26 -0
  374. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states.py +39 -0
  375. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_license_status.py +7 -0
  376. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_lines_of_business.py +38 -0
  377. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_lines_of_business_field_commercial.py +46 -0
  378. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_lines_of_business_field_commercial_field_status.py +7 -0
  379. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_lines_of_business_field_medicare_advantage.py +48 -0
  380. rtaylor_205/providers/enrollment/types/provider_enrollment_status_get_v_1_response_payer_groups_value_states_value_lines_of_business_field_medicare_advantage_field_status.py +7 -0
  381. rtaylor_205/providers/raw_client.py +416 -0
  382. rtaylor_205/providers/types/__init__.py +82 -0
  383. rtaylor_205/providers/types/provider_get_v_1_response.py +38 -0
  384. rtaylor_205/providers/types/provider_get_v_1_response_type.py +7 -0
  385. rtaylor_205/providers/types/provider_post_v_1_request.py +20 -0
  386. rtaylor_205/providers/types/provider_post_v_1_request_provider.py +32 -0
  387. rtaylor_205/providers/types/provider_post_v_1_response.py +22 -0
  388. rtaylor_205/providers/types/provider_post_v_1_response_failed.py +40 -0
  389. rtaylor_205/providers/types/provider_post_v_1_response_failed_element_provider_type.py +7 -0
  390. rtaylor_205/providers/types/provider_post_v_1_response_successful.py +38 -0
  391. rtaylor_205/providers/types/provider_post_v_1_response_successful_element_provider_type.py +7 -0
  392. rtaylor_205/providers/types/provider_update_v_1_request.py +23 -0
  393. rtaylor_205/providers/types/provider_update_v_1_response.py +38 -0
  394. rtaylor_205/providers/types/provider_update_v_1_response_type.py +7 -0
  395. rtaylor_205/providers/types/providers_list_v_1_response.py +28 -0
  396. rtaylor_205/providers/types/providers_list_v_1_response_item.py +38 -0
  397. rtaylor_205/providers/types/providers_list_v_1_response_item_type.py +7 -0
  398. rtaylor_205/py.typed +0 -0
  399. rtaylor_205/search/__init__.py +38 -0
  400. rtaylor_205/search/client.py +117 -0
  401. rtaylor_205/search/raw_client.py +120 -0
  402. rtaylor_205/search/types/__init__.py +40 -0
  403. rtaylor_205/search/types/search_payer_v_1_request.py +23 -0
  404. rtaylor_205/search/types/search_payer_v_1_response.py +25 -0
  405. rtaylor_205/search/types/search_payer_v_1_response_item.py +25 -0
  406. rtaylor_205/service_eligibility/__init__.py +246 -0
  407. rtaylor_205/service_eligibility/client.py +203 -0
  408. rtaylor_205/service_eligibility/raw_client.py +244 -0
  409. rtaylor_205/service_eligibility/types/__init__.py +217 -0
  410. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response.py +79 -0
  411. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_clinical_info.py +22 -0
  412. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_clinical_info_field_diagnosis.py +3 -0
  413. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_condition.py +24 -0
  414. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  415. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_limit.py +41 -0
  416. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  417. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  418. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  419. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_limit_field_units.py +32 -0
  420. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_patient_responsibility.py +82 -0
  421. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  422. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_conditional_patient_responsibility.py +39 -0
  423. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_message.py +3 -0
  424. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_patient_responsibility.py +80 -0
  425. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_patient_responsibility_field_deductible_type.py +7 -0
  426. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_policy_id.py +3 -0
  427. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_provider.py +40 -0
  428. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_providers_element_type.py +7 -0
  429. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_state.py +60 -0
  430. rtaylor_205/service_eligibility/types/service_eligibility_get_v_1_response_status.py +7 -0
  431. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response.py +79 -0
  432. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_clinical_info.py +22 -0
  433. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_clinical_info_field_diagnosis.py +3 -0
  434. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_condition.py +26 -0
  435. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  436. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_limit.py +41 -0
  437. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  438. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  439. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  440. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_limit_field_units.py +32 -0
  441. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  442. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  443. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_conditional_patient_responsibility.py +39 -0
  444. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_message.py +3 -0
  445. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_patient_responsibility.py +80 -0
  446. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_patient_responsibility_field_deductible_type.py +7 -0
  447. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_policy_id.py +3 -0
  448. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_provider.py +40 -0
  449. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_providers_element_type.py +7 -0
  450. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_state.py +60 -0
  451. rtaylor_205/service_eligibility/types/service_eligibility_stream_v_1_response_status.py +7 -0
  452. rtaylor_205/service_eligibility/v_2/__init__.py +115 -0
  453. rtaylor_205/service_eligibility/v_2/client.py +178 -0
  454. rtaylor_205/service_eligibility/v_2/raw_client.py +169 -0
  455. rtaylor_205/service_eligibility/v_2/types/__init__.py +143 -0
  456. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_request.py +50 -0
  457. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_request_clinical_info.py +22 -0
  458. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_request_clinical_info_field_diagnosis.py +3 -0
  459. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_request_policy_id.py +3 -0
  460. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_request_state.py +60 -0
  461. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response.py +84 -0
  462. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_clinical_info.py +22 -0
  463. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_clinical_info_field_diagnosis.py +3 -0
  464. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_condition.py +26 -0
  465. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  466. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_limit.py +41 -0
  467. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  468. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  469. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  470. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_limit_field_units.py +32 -0
  471. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  472. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  473. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_conditional_patient_responsibility.py +39 -0
  474. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_message.py +3 -0
  475. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_patient_responsibility.py +80 -0
  476. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_patient_responsibility_field_deductible_type.py +7 -0
  477. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_policy_id.py +3 -0
  478. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_provider.py +40 -0
  479. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_providers_element_type.py +7 -0
  480. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_state.py +60 -0
  481. rtaylor_205/service_eligibility/v_2/types/service_eligibility_create_v_2_response_status.py +7 -0
  482. rtaylor_205/service_types/__init__.py +70 -0
  483. rtaylor_205/service_types/client.py +181 -0
  484. rtaylor_205/service_types/raw_client.py +201 -0
  485. rtaylor_205/service_types/types/__init__.py +70 -0
  486. rtaylor_205/service_types/types/service_type_get_v_1_response.py +57 -0
  487. rtaylor_205/service_types/types/service_type_get_v_1_response_note_field.py +3 -0
  488. rtaylor_205/service_types/types/service_type_get_v_1_response_place_of_service.py +7 -0
  489. rtaylor_205/service_types/types/service_type_get_v_1_response_provider_type.py +5 -0
  490. rtaylor_205/service_types/types/service_type_get_v_1_response_provider_types_element.py +7 -0
  491. rtaylor_205/service_types/types/service_types_list_v_1_response.py +28 -0
  492. rtaylor_205/service_types/types/service_types_list_v_1_response_item.py +57 -0
  493. rtaylor_205/service_types/types/service_types_list_v_1_response_item_note_field.py +3 -0
  494. rtaylor_205/service_types/types/service_types_list_v_1_response_item_place_of_service.py +7 -0
  495. rtaylor_205/service_types/types/service_types_list_v_1_response_item_provider_type.py +7 -0
  496. rtaylor_205/service_types/types/service_types_list_v_1_response_item_provider_types_element.py +7 -0
  497. rtaylor_205/services/__init__.py +1186 -0
  498. rtaylor_205/services/client.py +796 -0
  499. rtaylor_205/services/payments/__init__.py +46 -0
  500. rtaylor_205/services/payments/client.py +126 -0
  501. rtaylor_205/services/payments/raw_client.py +128 -0
  502. rtaylor_205/services/payments/types/__init__.py +44 -0
  503. rtaylor_205/services/payments/types/service_payments_list_v_1_response.py +28 -0
  504. rtaylor_205/services/payments/types/service_payments_list_v_1_response_item.py +37 -0
  505. rtaylor_205/services/payments/types/service_payments_list_v_1_response_item_type.py +5 -0
  506. rtaylor_205/services/raw_client.py +859 -0
  507. rtaylor_205/services/types/__init__.py +947 -0
  508. rtaylor_205/services/types/service_create_v_1_request.py +63 -0
  509. rtaylor_205/services/types/service_create_v_1_request_location.py +38 -0
  510. rtaylor_205/services/types/service_create_v_1_request_location_field_country.py +5 -0
  511. rtaylor_205/services/types/service_create_v_1_request_location_field_state.py +60 -0
  512. rtaylor_205/services/types/service_create_v_1_request_metadata.py +23 -0
  513. rtaylor_205/services/types/service_create_v_1_request_responsible_party.py +5 -0
  514. rtaylor_205/services/types/service_create_v_1_request_service_eligibility.py +33 -0
  515. rtaylor_205/services/types/service_create_v_1_request_service_eligibility_field_clinical_info.py +24 -0
  516. rtaylor_205/services/types/service_create_v_1_request_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  517. rtaylor_205/services/types/service_create_v_1_response.py +102 -0
  518. rtaylor_205/services/types/service_create_v_1_response_cancellation_reason.py +5 -0
  519. rtaylor_205/services/types/service_create_v_1_response_claim_status.py +7 -0
  520. rtaylor_205/services/types/service_create_v_1_response_coverage_status.py +7 -0
  521. rtaylor_205/services/types/service_create_v_1_response_location.py +38 -0
  522. rtaylor_205/services/types/service_create_v_1_response_location_field_country.py +5 -0
  523. rtaylor_205/services/types/service_create_v_1_response_location_field_state.py +60 -0
  524. rtaylor_205/services/types/service_create_v_1_response_metadata.py +23 -0
  525. rtaylor_205/services/types/service_create_v_1_response_patient_responsibility.py +38 -0
  526. rtaylor_205/services/types/service_create_v_1_response_patient_responsibility_field_amount.py +80 -0
  527. rtaylor_205/services/types/service_create_v_1_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  528. rtaylor_205/services/types/service_create_v_1_response_patient_responsibility_field_status.py +7 -0
  529. rtaylor_205/services/types/service_create_v_1_response_payment.py +37 -0
  530. rtaylor_205/services/types/service_create_v_1_response_payments_element_type.py +5 -0
  531. rtaylor_205/services/types/service_create_v_1_response_provider.py +38 -0
  532. rtaylor_205/services/types/service_create_v_1_response_provider_field_type.py +7 -0
  533. rtaylor_205/services/types/service_create_v_1_response_responsible_party.py +5 -0
  534. rtaylor_205/services/types/service_create_v_1_response_service_eligibility.py +91 -0
  535. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_clinical_info.py +24 -0
  536. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  537. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  538. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  539. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  540. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  541. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  542. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  543. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  544. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  545. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  546. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  547. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_message.py +3 -0
  548. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_patient_responsibility.py +80 -0
  549. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  550. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_policy_id.py +3 -0
  551. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_provider.py +40 -0
  552. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_providers_element_type.py +7 -0
  553. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_state.py +60 -0
  554. rtaylor_205/services/types/service_create_v_1_response_service_eligibility_field_status.py +7 -0
  555. rtaylor_205/services/types/service_create_v_1_response_service_type.py +61 -0
  556. rtaylor_205/services/types/service_create_v_1_response_service_type_field_note_field.py +3 -0
  557. rtaylor_205/services/types/service_create_v_1_response_service_type_field_place_of_service.py +7 -0
  558. rtaylor_205/services/types/service_create_v_1_response_service_type_field_provider_type.py +7 -0
  559. rtaylor_205/services/types/service_create_v_1_response_service_type_field_provider_types_element.py +7 -0
  560. rtaylor_205/services/types/service_create_v_1_response_status.py +7 -0
  561. rtaylor_205/services/types/service_create_v_1_response_task.py +21 -0
  562. rtaylor_205/services/types/service_create_v_1_response_tasks_element_type.py +35 -0
  563. rtaylor_205/services/types/service_get_v_1_response.py +102 -0
  564. rtaylor_205/services/types/service_get_v_1_response_cancellation_reason.py +5 -0
  565. rtaylor_205/services/types/service_get_v_1_response_claim_status.py +5 -0
  566. rtaylor_205/services/types/service_get_v_1_response_coverage_status.py +7 -0
  567. rtaylor_205/services/types/service_get_v_1_response_location.py +38 -0
  568. rtaylor_205/services/types/service_get_v_1_response_location_field_country.py +5 -0
  569. rtaylor_205/services/types/service_get_v_1_response_location_field_state.py +60 -0
  570. rtaylor_205/services/types/service_get_v_1_response_metadata.py +23 -0
  571. rtaylor_205/services/types/service_get_v_1_response_patient_responsibility.py +38 -0
  572. rtaylor_205/services/types/service_get_v_1_response_patient_responsibility_field_amount.py +80 -0
  573. rtaylor_205/services/types/service_get_v_1_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  574. rtaylor_205/services/types/service_get_v_1_response_patient_responsibility_field_status.py +7 -0
  575. rtaylor_205/services/types/service_get_v_1_response_payment.py +37 -0
  576. rtaylor_205/services/types/service_get_v_1_response_payments_element_type.py +5 -0
  577. rtaylor_205/services/types/service_get_v_1_response_provider.py +38 -0
  578. rtaylor_205/services/types/service_get_v_1_response_provider_field_type.py +7 -0
  579. rtaylor_205/services/types/service_get_v_1_response_responsible_party.py +5 -0
  580. rtaylor_205/services/types/service_get_v_1_response_service_eligibility.py +87 -0
  581. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_clinical_info.py +24 -0
  582. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  583. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +26 -0
  584. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  585. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  586. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  587. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  588. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  589. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  590. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  591. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  592. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  593. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_message.py +3 -0
  594. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_patient_responsibility.py +80 -0
  595. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  596. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_policy_id.py +3 -0
  597. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_provider.py +40 -0
  598. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_providers_element_type.py +7 -0
  599. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_state.py +60 -0
  600. rtaylor_205/services/types/service_get_v_1_response_service_eligibility_field_status.py +7 -0
  601. rtaylor_205/services/types/service_get_v_1_response_service_type.py +59 -0
  602. rtaylor_205/services/types/service_get_v_1_response_service_type_field_note_field.py +3 -0
  603. rtaylor_205/services/types/service_get_v_1_response_service_type_field_place_of_service.py +7 -0
  604. rtaylor_205/services/types/service_get_v_1_response_service_type_field_provider_type.py +7 -0
  605. rtaylor_205/services/types/service_get_v_1_response_service_type_field_provider_types_element.py +7 -0
  606. rtaylor_205/services/types/service_get_v_1_response_status.py +7 -0
  607. rtaylor_205/services/types/service_get_v_1_response_task.py +21 -0
  608. rtaylor_205/services/types/service_get_v_1_response_tasks_element_type.py +35 -0
  609. rtaylor_205/services/types/service_note_get_v_1_response.py +35 -0
  610. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data.py +139 -0
  611. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_allergy.py +3 -0
  612. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_icd_10.py +3 -0
  613. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_medication.py +3 -0
  614. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_monitoring_data_element_value.py +3 -0
  615. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_monitoring_datum.py +23 -0
  616. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_scored_assessment.py +23 -0
  617. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_data_field_scored_assessments_element_type.py +7 -0
  618. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_signature.py +24 -0
  619. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_signature_field_provider.py +40 -0
  620. rtaylor_205/services/types/service_note_get_v_1_response_addenda_element_signature_field_provider_field_type.py +7 -0
  621. rtaylor_205/services/types/service_note_get_v_1_response_addendum.py +32 -0
  622. rtaylor_205/services/types/service_note_get_v_1_response_data.py +131 -0
  623. rtaylor_205/services/types/service_note_get_v_1_response_data_field_allergy.py +3 -0
  624. rtaylor_205/services/types/service_note_get_v_1_response_data_field_icd_10.py +3 -0
  625. rtaylor_205/services/types/service_note_get_v_1_response_data_field_medication.py +3 -0
  626. rtaylor_205/services/types/service_note_get_v_1_response_data_field_monitoring_data_element_value.py +3 -0
  627. rtaylor_205/services/types/service_note_get_v_1_response_data_field_monitoring_datum.py +23 -0
  628. rtaylor_205/services/types/service_note_get_v_1_response_data_field_scored_assessment.py +23 -0
  629. rtaylor_205/services/types/service_note_get_v_1_response_data_field_scored_assessments_element_type.py +7 -0
  630. rtaylor_205/services/types/service_note_get_v_1_response_signature.py +22 -0
  631. rtaylor_205/services/types/service_note_get_v_1_response_signature_field_provider.py +40 -0
  632. rtaylor_205/services/types/service_note_get_v_1_response_signature_field_provider_field_type.py +7 -0
  633. rtaylor_205/services/types/service_stream_v_1_response.py +102 -0
  634. rtaylor_205/services/types/service_stream_v_1_response_cancellation_reason.py +5 -0
  635. rtaylor_205/services/types/service_stream_v_1_response_claim_status.py +7 -0
  636. rtaylor_205/services/types/service_stream_v_1_response_coverage_status.py +7 -0
  637. rtaylor_205/services/types/service_stream_v_1_response_location.py +38 -0
  638. rtaylor_205/services/types/service_stream_v_1_response_location_field_country.py +5 -0
  639. rtaylor_205/services/types/service_stream_v_1_response_location_field_state.py +60 -0
  640. rtaylor_205/services/types/service_stream_v_1_response_metadata.py +23 -0
  641. rtaylor_205/services/types/service_stream_v_1_response_patient_responsibility.py +38 -0
  642. rtaylor_205/services/types/service_stream_v_1_response_patient_responsibility_field_amount.py +80 -0
  643. rtaylor_205/services/types/service_stream_v_1_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  644. rtaylor_205/services/types/service_stream_v_1_response_patient_responsibility_field_status.py +7 -0
  645. rtaylor_205/services/types/service_stream_v_1_response_payment.py +37 -0
  646. rtaylor_205/services/types/service_stream_v_1_response_payments_element_type.py +5 -0
  647. rtaylor_205/services/types/service_stream_v_1_response_provider.py +38 -0
  648. rtaylor_205/services/types/service_stream_v_1_response_provider_field_type.py +7 -0
  649. rtaylor_205/services/types/service_stream_v_1_response_responsible_party.py +5 -0
  650. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility.py +91 -0
  651. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_clinical_info.py +24 -0
  652. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  653. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  654. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  655. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  656. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  657. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  658. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  659. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  660. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  661. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  662. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  663. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_message.py +3 -0
  664. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_patient_responsibility.py +80 -0
  665. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  666. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_policy_id.py +3 -0
  667. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_provider.py +40 -0
  668. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_providers_element_type.py +7 -0
  669. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_state.py +60 -0
  670. rtaylor_205/services/types/service_stream_v_1_response_service_eligibility_field_status.py +7 -0
  671. rtaylor_205/services/types/service_stream_v_1_response_service_type.py +61 -0
  672. rtaylor_205/services/types/service_stream_v_1_response_service_type_field_note_field.py +3 -0
  673. rtaylor_205/services/types/service_stream_v_1_response_service_type_field_place_of_service.py +7 -0
  674. rtaylor_205/services/types/service_stream_v_1_response_service_type_field_provider_type.py +7 -0
  675. rtaylor_205/services/types/service_stream_v_1_response_service_type_field_provider_types_element.py +7 -0
  676. rtaylor_205/services/types/service_stream_v_1_response_status.py +7 -0
  677. rtaylor_205/services/types/service_stream_v_1_response_task.py +21 -0
  678. rtaylor_205/services/types/service_stream_v_1_response_tasks_element_type.py +35 -0
  679. rtaylor_205/services/types/services_list_v_1_filter_provider_id.py +3 -0
  680. rtaylor_205/services/types/services_list_v_1_filter_status.py +5 -0
  681. rtaylor_205/services/types/services_list_v_1_filter_status_element.py +7 -0
  682. rtaylor_205/services/types/services_list_v_1_order_created_at.py +5 -0
  683. rtaylor_205/services/types/services_list_v_1_response.py +28 -0
  684. rtaylor_205/services/types/services_list_v_1_response_item.py +102 -0
  685. rtaylor_205/services/types/services_list_v_1_response_item_cancellation_reason.py +5 -0
  686. rtaylor_205/services/types/services_list_v_1_response_item_claim_status.py +7 -0
  687. rtaylor_205/services/types/services_list_v_1_response_item_coverage_status.py +7 -0
  688. rtaylor_205/services/types/services_list_v_1_response_item_location.py +38 -0
  689. rtaylor_205/services/types/services_list_v_1_response_item_location_field_country.py +5 -0
  690. rtaylor_205/services/types/services_list_v_1_response_item_location_field_state.py +60 -0
  691. rtaylor_205/services/types/services_list_v_1_response_item_metadata.py +23 -0
  692. rtaylor_205/services/types/services_list_v_1_response_item_patient_responsibility.py +38 -0
  693. rtaylor_205/services/types/services_list_v_1_response_item_patient_responsibility_field_amount.py +80 -0
  694. rtaylor_205/services/types/services_list_v_1_response_item_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  695. rtaylor_205/services/types/services_list_v_1_response_item_patient_responsibility_field_status.py +7 -0
  696. rtaylor_205/services/types/services_list_v_1_response_item_payment.py +37 -0
  697. rtaylor_205/services/types/services_list_v_1_response_item_payments_element_type.py +5 -0
  698. rtaylor_205/services/types/services_list_v_1_response_item_provider.py +38 -0
  699. rtaylor_205/services/types/services_list_v_1_response_item_provider_field_type.py +7 -0
  700. rtaylor_205/services/types/services_list_v_1_response_item_responsible_party.py +5 -0
  701. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility.py +91 -0
  702. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_clinical_info.py +24 -0
  703. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  704. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  705. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +5 -0
  706. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +43 -0
  707. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  708. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  709. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  710. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  711. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  712. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  713. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  714. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_message.py +3 -0
  715. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_patient_responsibility.py +80 -0
  716. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  717. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_policy_id.py +3 -0
  718. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_provider.py +40 -0
  719. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_providers_element_type.py +7 -0
  720. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_state.py +60 -0
  721. rtaylor_205/services/types/services_list_v_1_response_item_service_eligibility_field_status.py +7 -0
  722. rtaylor_205/services/types/services_list_v_1_response_item_service_type.py +63 -0
  723. rtaylor_205/services/types/services_list_v_1_response_item_service_type_field_note_field.py +3 -0
  724. rtaylor_205/services/types/services_list_v_1_response_item_service_type_field_place_of_service.py +7 -0
  725. rtaylor_205/services/types/services_list_v_1_response_item_service_type_field_provider_type.py +7 -0
  726. rtaylor_205/services/types/services_list_v_1_response_item_service_type_field_provider_types_element.py +7 -0
  727. rtaylor_205/services/types/services_list_v_1_response_item_status.py +7 -0
  728. rtaylor_205/services/types/services_list_v_1_response_item_task.py +21 -0
  729. rtaylor_205/services/types/services_list_v_1_response_item_tasks_element_type.py +35 -0
  730. rtaylor_205/services/v_2/__init__.py +502 -0
  731. rtaylor_205/services/v_2/client.py +477 -0
  732. rtaylor_205/services/v_2/raw_client.py +503 -0
  733. rtaylor_205/services/v_2/types/__init__.py +666 -0
  734. rtaylor_205/services/v_2/types/service_cancel_v_2_request.py +26 -0
  735. rtaylor_205/services/v_2/types/service_cancel_v_2_request_cancellation_reason.py +5 -0
  736. rtaylor_205/services/v_2/types/service_cancel_v_2_response.py +102 -0
  737. rtaylor_205/services/v_2/types/service_cancel_v_2_response_cancellation_reason.py +5 -0
  738. rtaylor_205/services/v_2/types/service_cancel_v_2_response_claim_status.py +7 -0
  739. rtaylor_205/services/v_2/types/service_cancel_v_2_response_coverage_status.py +7 -0
  740. rtaylor_205/services/v_2/types/service_cancel_v_2_response_location.py +38 -0
  741. rtaylor_205/services/v_2/types/service_cancel_v_2_response_location_field_country.py +5 -0
  742. rtaylor_205/services/v_2/types/service_cancel_v_2_response_location_field_state.py +60 -0
  743. rtaylor_205/services/v_2/types/service_cancel_v_2_response_metadata.py +23 -0
  744. rtaylor_205/services/v_2/types/service_cancel_v_2_response_patient_responsibility.py +38 -0
  745. rtaylor_205/services/v_2/types/service_cancel_v_2_response_patient_responsibility_field_amount.py +80 -0
  746. rtaylor_205/services/v_2/types/service_cancel_v_2_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  747. rtaylor_205/services/v_2/types/service_cancel_v_2_response_patient_responsibility_field_status.py +7 -0
  748. rtaylor_205/services/v_2/types/service_cancel_v_2_response_payment.py +37 -0
  749. rtaylor_205/services/v_2/types/service_cancel_v_2_response_payments_element_type.py +5 -0
  750. rtaylor_205/services/v_2/types/service_cancel_v_2_response_provider.py +38 -0
  751. rtaylor_205/services/v_2/types/service_cancel_v_2_response_provider_field_type.py +7 -0
  752. rtaylor_205/services/v_2/types/service_cancel_v_2_response_responsible_party.py +5 -0
  753. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility.py +91 -0
  754. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_clinical_info.py +24 -0
  755. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  756. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  757. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  758. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  759. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  760. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  761. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  762. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  763. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  764. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  765. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  766. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_message.py +3 -0
  767. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_patient_responsibility.py +80 -0
  768. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  769. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_policy_id.py +3 -0
  770. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_provider.py +40 -0
  771. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_providers_element_type.py +7 -0
  772. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_state.py +60 -0
  773. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_eligibility_field_status.py +7 -0
  774. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_type.py +61 -0
  775. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_type_field_note_field.py +3 -0
  776. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_type_field_place_of_service.py +7 -0
  777. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_type_field_provider_type.py +7 -0
  778. rtaylor_205/services/v_2/types/service_cancel_v_2_response_service_type_field_provider_types_element.py +7 -0
  779. rtaylor_205/services/v_2/types/service_cancel_v_2_response_status.py +7 -0
  780. rtaylor_205/services/v_2/types/service_cancel_v_2_response_task.py +21 -0
  781. rtaylor_205/services/v_2/types/service_cancel_v_2_response_tasks_element_type.py +35 -0
  782. rtaylor_205/services/v_2/types/service_create_v_2_request.py +63 -0
  783. rtaylor_205/services/v_2/types/service_create_v_2_request_location.py +38 -0
  784. rtaylor_205/services/v_2/types/service_create_v_2_request_location_field_country.py +5 -0
  785. rtaylor_205/services/v_2/types/service_create_v_2_request_location_field_state.py +60 -0
  786. rtaylor_205/services/v_2/types/service_create_v_2_request_metadata.py +23 -0
  787. rtaylor_205/services/v_2/types/service_create_v_2_request_responsible_party.py +5 -0
  788. rtaylor_205/services/v_2/types/service_create_v_2_request_service_eligibility.py +33 -0
  789. rtaylor_205/services/v_2/types/service_create_v_2_request_service_eligibility_field_clinical_info.py +24 -0
  790. rtaylor_205/services/v_2/types/service_create_v_2_request_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  791. rtaylor_205/services/v_2/types/service_create_v_2_response.py +102 -0
  792. rtaylor_205/services/v_2/types/service_create_v_2_response_cancellation_reason.py +5 -0
  793. rtaylor_205/services/v_2/types/service_create_v_2_response_claim_status.py +7 -0
  794. rtaylor_205/services/v_2/types/service_create_v_2_response_coverage_status.py +7 -0
  795. rtaylor_205/services/v_2/types/service_create_v_2_response_location.py +38 -0
  796. rtaylor_205/services/v_2/types/service_create_v_2_response_location_field_country.py +5 -0
  797. rtaylor_205/services/v_2/types/service_create_v_2_response_location_field_state.py +60 -0
  798. rtaylor_205/services/v_2/types/service_create_v_2_response_metadata.py +23 -0
  799. rtaylor_205/services/v_2/types/service_create_v_2_response_patient_responsibility.py +38 -0
  800. rtaylor_205/services/v_2/types/service_create_v_2_response_patient_responsibility_field_amount.py +80 -0
  801. rtaylor_205/services/v_2/types/service_create_v_2_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  802. rtaylor_205/services/v_2/types/service_create_v_2_response_patient_responsibility_field_status.py +7 -0
  803. rtaylor_205/services/v_2/types/service_create_v_2_response_payment.py +37 -0
  804. rtaylor_205/services/v_2/types/service_create_v_2_response_payments_element_type.py +5 -0
  805. rtaylor_205/services/v_2/types/service_create_v_2_response_provider.py +38 -0
  806. rtaylor_205/services/v_2/types/service_create_v_2_response_provider_field_type.py +7 -0
  807. rtaylor_205/services/v_2/types/service_create_v_2_response_responsible_party.py +5 -0
  808. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility.py +91 -0
  809. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_clinical_info.py +24 -0
  810. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  811. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  812. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  813. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  814. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  815. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  816. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  817. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  818. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  819. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  820. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  821. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_message.py +3 -0
  822. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_patient_responsibility.py +80 -0
  823. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  824. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_policy_id.py +3 -0
  825. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_provider.py +40 -0
  826. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_providers_element_type.py +7 -0
  827. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_state.py +60 -0
  828. rtaylor_205/services/v_2/types/service_create_v_2_response_service_eligibility_field_status.py +7 -0
  829. rtaylor_205/services/v_2/types/service_create_v_2_response_service_type.py +61 -0
  830. rtaylor_205/services/v_2/types/service_create_v_2_response_service_type_field_note_field.py +3 -0
  831. rtaylor_205/services/v_2/types/service_create_v_2_response_service_type_field_place_of_service.py +7 -0
  832. rtaylor_205/services/v_2/types/service_create_v_2_response_service_type_field_provider_type.py +7 -0
  833. rtaylor_205/services/v_2/types/service_create_v_2_response_service_type_field_provider_types_element.py +7 -0
  834. rtaylor_205/services/v_2/types/service_create_v_2_response_status.py +7 -0
  835. rtaylor_205/services/v_2/types/service_create_v_2_response_task.py +21 -0
  836. rtaylor_205/services/v_2/types/service_create_v_2_response_tasks_element_type.py +35 -0
  837. rtaylor_205/services/v_2/types/service_update_v_2_request.py +60 -0
  838. rtaylor_205/services/v_2/types/service_update_v_2_request_location.py +38 -0
  839. rtaylor_205/services/v_2/types/service_update_v_2_request_location_field_country.py +5 -0
  840. rtaylor_205/services/v_2/types/service_update_v_2_request_location_field_state.py +60 -0
  841. rtaylor_205/services/v_2/types/service_update_v_2_request_metadata.py +23 -0
  842. rtaylor_205/services/v_2/types/service_update_v_2_request_responsible_party.py +5 -0
  843. rtaylor_205/services/v_2/types/service_update_v_2_response.py +102 -0
  844. rtaylor_205/services/v_2/types/service_update_v_2_response_cancellation_reason.py +5 -0
  845. rtaylor_205/services/v_2/types/service_update_v_2_response_claim_status.py +7 -0
  846. rtaylor_205/services/v_2/types/service_update_v_2_response_coverage_status.py +7 -0
  847. rtaylor_205/services/v_2/types/service_update_v_2_response_location.py +38 -0
  848. rtaylor_205/services/v_2/types/service_update_v_2_response_location_field_country.py +5 -0
  849. rtaylor_205/services/v_2/types/service_update_v_2_response_location_field_state.py +60 -0
  850. rtaylor_205/services/v_2/types/service_update_v_2_response_metadata.py +23 -0
  851. rtaylor_205/services/v_2/types/service_update_v_2_response_patient_responsibility.py +38 -0
  852. rtaylor_205/services/v_2/types/service_update_v_2_response_patient_responsibility_field_amount.py +80 -0
  853. rtaylor_205/services/v_2/types/service_update_v_2_response_patient_responsibility_field_amount_field_deductible_type.py +7 -0
  854. rtaylor_205/services/v_2/types/service_update_v_2_response_patient_responsibility_field_status.py +7 -0
  855. rtaylor_205/services/v_2/types/service_update_v_2_response_payment.py +37 -0
  856. rtaylor_205/services/v_2/types/service_update_v_2_response_payments_element_type.py +5 -0
  857. rtaylor_205/services/v_2/types/service_update_v_2_response_provider.py +38 -0
  858. rtaylor_205/services/v_2/types/service_update_v_2_response_provider_field_type.py +7 -0
  859. rtaylor_205/services/v_2/types/service_update_v_2_response_responsible_party.py +5 -0
  860. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility.py +91 -0
  861. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_clinical_info.py +24 -0
  862. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_clinical_info_field_diagnosis.py +3 -0
  863. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_condition.py +28 -0
  864. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_conditions_element_diagnosis.py +3 -0
  865. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit.py +41 -0
  866. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_metric.py +7 -0
  867. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_period.py +7 -0
  868. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_type.py +7 -0
  869. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_limit_field_units.py +34 -0
  870. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility.py +84 -0
  871. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibilities_element_patient_responsibility_field_deductible_type.py +7 -0
  872. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_conditional_patient_responsibility.py +41 -0
  873. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_message.py +3 -0
  874. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_patient_responsibility.py +80 -0
  875. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_patient_responsibility_field_deductible_type.py +7 -0
  876. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_policy_id.py +3 -0
  877. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_provider.py +40 -0
  878. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_providers_element_type.py +7 -0
  879. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_state.py +60 -0
  880. rtaylor_205/services/v_2/types/service_update_v_2_response_service_eligibility_field_status.py +7 -0
  881. rtaylor_205/services/v_2/types/service_update_v_2_response_service_type.py +61 -0
  882. rtaylor_205/services/v_2/types/service_update_v_2_response_service_type_field_note_field.py +3 -0
  883. rtaylor_205/services/v_2/types/service_update_v_2_response_service_type_field_place_of_service.py +7 -0
  884. rtaylor_205/services/v_2/types/service_update_v_2_response_service_type_field_provider_type.py +7 -0
  885. rtaylor_205/services/v_2/types/service_update_v_2_response_service_type_field_provider_types_element.py +7 -0
  886. rtaylor_205/services/v_2/types/service_update_v_2_response_status.py +7 -0
  887. rtaylor_205/services/v_2/types/service_update_v_2_response_task.py +21 -0
  888. rtaylor_205/services/v_2/types/service_update_v_2_response_tasks_element_type.py +35 -0
  889. rtaylor_205/version.py +3 -0
  890. usebridge_api-0.1.0.dist-info/METADATA +239 -0
  891. usebridge_api-0.1.0.dist-info/RECORD +892 -0
  892. usebridge_api-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,839 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import asyncio
4
+ import email.utils
5
+ import re
6
+ import time
7
+ import typing
8
+ from contextlib import asynccontextmanager, contextmanager
9
+ from random import random
10
+
11
+ import httpx
12
+ from .file import File, convert_file_dict_to_httpx_tuples
13
+ from .force_multipart import FORCE_MULTIPART
14
+ from .jsonable_encoder import jsonable_encoder
15
+ from .logging import LogConfig, Logger, create_logger
16
+ from .query_encoder import encode_query
17
+ from .remove_none_from_dict import remove_none_from_dict as remove_none_from_dict
18
+ from .request_options import RequestOptions
19
+ from httpx._types import RequestFiles
20
+
21
+ INITIAL_RETRY_DELAY_SECONDS = 1.0
22
+ MAX_RETRY_DELAY_SECONDS = 60.0
23
+ JITTER_FACTOR = 0.2 # 20% random jitter
24
+
25
+
26
+ def _parse_retry_after(response_headers: httpx.Headers) -> typing.Optional[float]:
27
+ """
28
+ This function parses the `Retry-After` header in a HTTP response and returns the number of seconds to wait.
29
+
30
+ Inspired by the urllib3 retry implementation.
31
+ """
32
+ retry_after_ms = response_headers.get("retry-after-ms")
33
+ if retry_after_ms is not None:
34
+ try:
35
+ return int(retry_after_ms) / 1000 if retry_after_ms > 0 else 0
36
+ except Exception:
37
+ pass
38
+
39
+ retry_after = response_headers.get("retry-after")
40
+ if retry_after is None:
41
+ return None
42
+
43
+ # Attempt to parse the header as an int.
44
+ if re.match(r"^\s*[0-9]+\s*$", retry_after):
45
+ seconds = float(retry_after)
46
+ # Fallback to parsing it as a date.
47
+ else:
48
+ retry_date_tuple = email.utils.parsedate_tz(retry_after)
49
+ if retry_date_tuple is None:
50
+ return None
51
+ if retry_date_tuple[9] is None: # Python 2
52
+ # Assume UTC if no timezone was specified
53
+ # On Python2.7, parsedate_tz returns None for a timezone offset
54
+ # instead of 0 if no timezone is given, where mktime_tz treats
55
+ # a None timezone offset as local time.
56
+ retry_date_tuple = retry_date_tuple[:9] + (0,) + retry_date_tuple[10:]
57
+
58
+ retry_date = email.utils.mktime_tz(retry_date_tuple)
59
+ seconds = retry_date - time.time()
60
+
61
+ if seconds < 0:
62
+ seconds = 0
63
+
64
+ return seconds
65
+
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
+
99
+ def _retry_timeout(response: httpx.Response, retries: int) -> float:
100
+ """
101
+ Determine the amount of time to wait before retrying a request.
102
+ This function begins by trying to parse a retry-after header from the response, and then proceeds to use exponential backoff
103
+ with a jitter to determine the number of seconds to wait.
104
+ """
105
+
106
+ # 1. Check Retry-After header first
107
+ retry_after = _parse_retry_after(response.headers)
108
+ if retry_after is not None and retry_after > 0:
109
+ return min(retry_after, MAX_RETRY_DELAY_SECONDS)
110
+
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))
115
+
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)
119
+
120
+
121
+ def _retry_timeout_from_retries(retries: int) -> float:
122
+ """Determine retry timeout using exponential backoff when no response is available."""
123
+ backoff = min(INITIAL_RETRY_DELAY_SECONDS * pow(2.0, retries), MAX_RETRY_DELAY_SECONDS)
124
+ return _add_symmetric_jitter(backoff)
125
+
126
+
127
+ def _should_retry(response: httpx.Response) -> bool:
128
+ return response.status_code >= 500 or response.status_code in [429, 408, 409]
129
+
130
+
131
+ _SENSITIVE_HEADERS = frozenset(
132
+ {
133
+ "authorization",
134
+ "www-authenticate",
135
+ "x-api-key",
136
+ "api-key",
137
+ "apikey",
138
+ "x-api-token",
139
+ "x-auth-token",
140
+ "auth-token",
141
+ "cookie",
142
+ "set-cookie",
143
+ "proxy-authorization",
144
+ "proxy-authenticate",
145
+ "x-csrf-token",
146
+ "x-xsrf-token",
147
+ "x-session-token",
148
+ "x-access-token",
149
+ }
150
+ )
151
+
152
+
153
+ def _redact_headers(headers: typing.Dict[str, str]) -> typing.Dict[str, str]:
154
+ return {k: ("[REDACTED]" if k.lower() in _SENSITIVE_HEADERS else v) for k, v in headers.items()}
155
+
156
+
157
+ def _build_url(base_url: str, path: typing.Optional[str]) -> str:
158
+ """
159
+ Build a full URL by joining a base URL with a path.
160
+
161
+ This function correctly handles base URLs that contain path prefixes (e.g., tenant-based URLs)
162
+ by using string concatenation instead of urllib.parse.urljoin(), which would incorrectly
163
+ strip path components when the path starts with '/'.
164
+
165
+ Example:
166
+ >>> _build_url("https://cloud.example.com/org/tenant/api", "/users")
167
+ 'https://cloud.example.com/org/tenant/api/users'
168
+
169
+ Args:
170
+ base_url: The base URL, which may contain path prefixes.
171
+ path: The path to append. Can be None or empty string.
172
+
173
+ Returns:
174
+ The full URL with base_url and path properly joined.
175
+ """
176
+ if not path:
177
+ return base_url
178
+ return f"{base_url.rstrip('/')}/{path.lstrip('/')}"
179
+
180
+
181
+ def _maybe_filter_none_from_multipart_data(
182
+ data: typing.Optional[typing.Any],
183
+ request_files: typing.Optional[RequestFiles],
184
+ force_multipart: typing.Optional[bool],
185
+ ) -> typing.Optional[typing.Any]:
186
+ """
187
+ Filter None values from data body for multipart/form requests.
188
+ This prevents httpx from converting None to empty strings in multipart encoding.
189
+ Only applies when files are present or force_multipart is True.
190
+ """
191
+ if data is not None and isinstance(data, typing.Mapping) and (request_files or force_multipart):
192
+ return remove_none_from_dict(data)
193
+ return data
194
+
195
+
196
+ def remove_omit_from_dict(
197
+ original: typing.Dict[str, typing.Optional[typing.Any]],
198
+ omit: typing.Optional[typing.Any],
199
+ ) -> typing.Dict[str, typing.Any]:
200
+ if omit is None:
201
+ return original
202
+ new: typing.Dict[str, typing.Any] = {}
203
+ for key, value in original.items():
204
+ if value is not omit:
205
+ new[key] = value
206
+ return new
207
+
208
+
209
+ def maybe_filter_request_body(
210
+ data: typing.Optional[typing.Any],
211
+ request_options: typing.Optional[RequestOptions],
212
+ omit: typing.Optional[typing.Any],
213
+ ) -> typing.Optional[typing.Any]:
214
+ if data is None:
215
+ return (
216
+ jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
217
+ if request_options is not None
218
+ else None
219
+ )
220
+ elif not isinstance(data, typing.Mapping):
221
+ data_content = jsonable_encoder(data)
222
+ else:
223
+ data_content = {
224
+ **(jsonable_encoder(remove_omit_from_dict(data, omit))), # type: ignore
225
+ **(
226
+ jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
227
+ if request_options is not None
228
+ else {}
229
+ ),
230
+ }
231
+ return data_content
232
+
233
+
234
+ # Abstracted out for testing purposes
235
+ def get_request_body(
236
+ *,
237
+ json: typing.Optional[typing.Any],
238
+ data: typing.Optional[typing.Any],
239
+ request_options: typing.Optional[RequestOptions],
240
+ omit: typing.Optional[typing.Any],
241
+ ) -> typing.Tuple[typing.Optional[typing.Any], typing.Optional[typing.Any]]:
242
+ json_body = None
243
+ data_body = None
244
+ if data is not None:
245
+ data_body = maybe_filter_request_body(data, request_options, omit)
246
+ else:
247
+ # If both data and json are None, we send json data in the event extra properties are specified
248
+ json_body = maybe_filter_request_body(json, request_options, omit)
249
+
250
+ has_additional_body_parameters = bool(
251
+ request_options is not None and request_options.get("additional_body_parameters")
252
+ )
253
+
254
+ # Only collapse empty dict to None when the body was not explicitly provided
255
+ # and there are no additional body parameters. This preserves explicit empty
256
+ # bodies (e.g., when an endpoint has a request body type but all fields are optional).
257
+ if json_body == {} and json is None and not has_additional_body_parameters:
258
+ json_body = None
259
+ if data_body == {} and data is None and not has_additional_body_parameters:
260
+ data_body = None
261
+
262
+ return json_body, data_body
263
+
264
+
265
+ class HttpClient:
266
+ def __init__(
267
+ self,
268
+ *,
269
+ httpx_client: httpx.Client,
270
+ base_timeout: typing.Callable[[], typing.Optional[float]],
271
+ base_headers: typing.Callable[[], typing.Dict[str, str]],
272
+ base_url: typing.Optional[typing.Callable[[], str]] = None,
273
+ base_max_retries: int = 2,
274
+ logging_config: typing.Optional[typing.Union[LogConfig, Logger]] = None,
275
+ ):
276
+ self.base_url = base_url
277
+ self.base_timeout = base_timeout
278
+ self.base_headers = base_headers
279
+ self.base_max_retries = base_max_retries
280
+ self.httpx_client = httpx_client
281
+ self.logger = create_logger(logging_config)
282
+
283
+ def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
284
+ base_url = maybe_base_url
285
+ if self.base_url is not None and base_url is None:
286
+ base_url = self.base_url()
287
+
288
+ if base_url is None:
289
+ raise ValueError("A base_url is required to make this request, please provide one and try again.")
290
+ return base_url
291
+
292
+ def request(
293
+ self,
294
+ path: typing.Optional[str] = None,
295
+ *,
296
+ method: str,
297
+ base_url: typing.Optional[str] = None,
298
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
299
+ json: typing.Optional[typing.Any] = None,
300
+ data: typing.Optional[typing.Any] = None,
301
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
302
+ files: typing.Optional[
303
+ typing.Union[
304
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
305
+ typing.List[typing.Tuple[str, File]],
306
+ ]
307
+ ] = None,
308
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
309
+ request_options: typing.Optional[RequestOptions] = None,
310
+ retries: int = 0,
311
+ omit: typing.Optional[typing.Any] = None,
312
+ force_multipart: typing.Optional[bool] = None,
313
+ ) -> httpx.Response:
314
+ base_url = self.get_base_url(base_url)
315
+ timeout = (
316
+ request_options.get("timeout_in_seconds")
317
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
318
+ else self.base_timeout()
319
+ )
320
+
321
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
322
+
323
+ request_files: typing.Optional[RequestFiles] = (
324
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
325
+ if (files is not None and files is not omit and isinstance(files, dict))
326
+ else None
327
+ )
328
+
329
+ if (request_files is None or len(request_files) == 0) and force_multipart:
330
+ request_files = FORCE_MULTIPART
331
+
332
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
333
+
334
+ # Compute encoded params separately to avoid passing empty list to httpx
335
+ # (httpx strips existing query params from URL when params=[] is passed)
336
+ _encoded_params = encode_query(
337
+ jsonable_encoder(
338
+ remove_none_from_dict(
339
+ remove_omit_from_dict(
340
+ {
341
+ **(params if params is not None else {}),
342
+ **(
343
+ request_options.get("additional_query_parameters", {}) or {}
344
+ if request_options is not None
345
+ else {}
346
+ ),
347
+ },
348
+ omit,
349
+ )
350
+ )
351
+ )
352
+ )
353
+
354
+ _request_url = _build_url(base_url, path)
355
+ _request_headers = jsonable_encoder(
356
+ remove_none_from_dict(
357
+ {
358
+ **self.base_headers(),
359
+ **(headers if headers is not None else {}),
360
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
361
+ }
362
+ )
363
+ )
364
+
365
+ if self.logger.is_debug():
366
+ self.logger.debug(
367
+ "Making HTTP request",
368
+ method=method,
369
+ url=_request_url,
370
+ headers=_redact_headers(_request_headers),
371
+ has_body=json_body is not None or data_body is not None,
372
+ )
373
+
374
+ max_retries: int = (
375
+ request_options.get("max_retries", self.base_max_retries)
376
+ if request_options is not None
377
+ else self.base_max_retries
378
+ )
379
+
380
+ try:
381
+ response = self.httpx_client.request(
382
+ method=method,
383
+ url=_request_url,
384
+ headers=_request_headers,
385
+ params=_encoded_params if _encoded_params else None,
386
+ json=json_body,
387
+ data=data_body,
388
+ content=content,
389
+ files=request_files,
390
+ timeout=timeout,
391
+ )
392
+ except (httpx.ConnectError, httpx.RemoteProtocolError):
393
+ if retries < max_retries:
394
+ time.sleep(_retry_timeout_from_retries(retries=retries))
395
+ return self.request(
396
+ path=path,
397
+ method=method,
398
+ base_url=base_url,
399
+ params=params,
400
+ json=json,
401
+ data=data,
402
+ content=content,
403
+ files=files,
404
+ headers=headers,
405
+ request_options=request_options,
406
+ retries=retries + 1,
407
+ omit=omit,
408
+ force_multipart=force_multipart,
409
+ )
410
+ raise
411
+
412
+ if _should_retry(response=response):
413
+ if retries < max_retries:
414
+ time.sleep(_retry_timeout(response=response, retries=retries))
415
+ return self.request(
416
+ path=path,
417
+ method=method,
418
+ base_url=base_url,
419
+ params=params,
420
+ json=json,
421
+ data=data,
422
+ content=content,
423
+ files=files,
424
+ headers=headers,
425
+ request_options=request_options,
426
+ retries=retries + 1,
427
+ omit=omit,
428
+ force_multipart=force_multipart,
429
+ )
430
+
431
+ if self.logger.is_debug():
432
+ if 200 <= response.status_code < 400:
433
+ self.logger.debug(
434
+ "HTTP request succeeded",
435
+ method=method,
436
+ url=_request_url,
437
+ status_code=response.status_code,
438
+ )
439
+
440
+ if self.logger.is_error():
441
+ if response.status_code >= 400:
442
+ self.logger.error(
443
+ "HTTP request failed with error status",
444
+ method=method,
445
+ url=_request_url,
446
+ status_code=response.status_code,
447
+ )
448
+
449
+ return response
450
+
451
+ @contextmanager
452
+ def stream(
453
+ self,
454
+ path: typing.Optional[str] = None,
455
+ *,
456
+ method: str,
457
+ base_url: typing.Optional[str] = None,
458
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
459
+ json: typing.Optional[typing.Any] = None,
460
+ data: typing.Optional[typing.Any] = None,
461
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
462
+ files: typing.Optional[
463
+ typing.Union[
464
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
465
+ typing.List[typing.Tuple[str, File]],
466
+ ]
467
+ ] = None,
468
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
469
+ request_options: typing.Optional[RequestOptions] = None,
470
+ retries: int = 0,
471
+ omit: typing.Optional[typing.Any] = None,
472
+ force_multipart: typing.Optional[bool] = None,
473
+ ) -> typing.Iterator[httpx.Response]:
474
+ base_url = self.get_base_url(base_url)
475
+ timeout = (
476
+ request_options.get("timeout_in_seconds")
477
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
478
+ else self.base_timeout()
479
+ )
480
+
481
+ request_files: typing.Optional[RequestFiles] = (
482
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
483
+ if (files is not None and files is not omit and isinstance(files, dict))
484
+ else None
485
+ )
486
+
487
+ if (request_files is None or len(request_files) == 0) and force_multipart:
488
+ request_files = FORCE_MULTIPART
489
+
490
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
491
+
492
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
493
+
494
+ # Compute encoded params separately to avoid passing empty list to httpx
495
+ # (httpx strips existing query params from URL when params=[] is passed)
496
+ _encoded_params = encode_query(
497
+ jsonable_encoder(
498
+ remove_none_from_dict(
499
+ remove_omit_from_dict(
500
+ {
501
+ **(params if params is not None else {}),
502
+ **(
503
+ request_options.get("additional_query_parameters", {})
504
+ if request_options is not None
505
+ else {}
506
+ ),
507
+ },
508
+ omit,
509
+ )
510
+ )
511
+ )
512
+ )
513
+
514
+ _request_url = _build_url(base_url, path)
515
+ _request_headers = jsonable_encoder(
516
+ remove_none_from_dict(
517
+ {
518
+ **self.base_headers(),
519
+ **(headers if headers is not None else {}),
520
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
521
+ }
522
+ )
523
+ )
524
+
525
+ if self.logger.is_debug():
526
+ self.logger.debug(
527
+ "Making streaming HTTP request",
528
+ method=method,
529
+ url=_request_url,
530
+ headers=_redact_headers(_request_headers),
531
+ )
532
+
533
+ with self.httpx_client.stream(
534
+ method=method,
535
+ url=_request_url,
536
+ headers=_request_headers,
537
+ params=_encoded_params if _encoded_params else None,
538
+ json=json_body,
539
+ data=data_body,
540
+ content=content,
541
+ files=request_files,
542
+ timeout=timeout,
543
+ ) as stream:
544
+ yield stream
545
+
546
+
547
+ class AsyncHttpClient:
548
+ def __init__(
549
+ self,
550
+ *,
551
+ httpx_client: httpx.AsyncClient,
552
+ base_timeout: typing.Callable[[], typing.Optional[float]],
553
+ base_headers: typing.Callable[[], typing.Dict[str, str]],
554
+ base_url: typing.Optional[typing.Callable[[], str]] = None,
555
+ base_max_retries: int = 2,
556
+ async_base_headers: typing.Optional[typing.Callable[[], typing.Awaitable[typing.Dict[str, str]]]] = None,
557
+ logging_config: typing.Optional[typing.Union[LogConfig, Logger]] = None,
558
+ ):
559
+ self.base_url = base_url
560
+ self.base_timeout = base_timeout
561
+ self.base_headers = base_headers
562
+ self.base_max_retries = base_max_retries
563
+ self.async_base_headers = async_base_headers
564
+ self.httpx_client = httpx_client
565
+ self.logger = create_logger(logging_config)
566
+
567
+ async def _get_headers(self) -> typing.Dict[str, str]:
568
+ if self.async_base_headers is not None:
569
+ return await self.async_base_headers()
570
+ return self.base_headers()
571
+
572
+ def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
573
+ base_url = maybe_base_url
574
+ if self.base_url is not None and base_url is None:
575
+ base_url = self.base_url()
576
+
577
+ if base_url is None:
578
+ raise ValueError("A base_url is required to make this request, please provide one and try again.")
579
+ return base_url
580
+
581
+ async def request(
582
+ self,
583
+ path: typing.Optional[str] = None,
584
+ *,
585
+ method: str,
586
+ base_url: typing.Optional[str] = None,
587
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
588
+ json: typing.Optional[typing.Any] = None,
589
+ data: typing.Optional[typing.Any] = None,
590
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
591
+ files: typing.Optional[
592
+ typing.Union[
593
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
594
+ typing.List[typing.Tuple[str, File]],
595
+ ]
596
+ ] = None,
597
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
598
+ request_options: typing.Optional[RequestOptions] = None,
599
+ retries: int = 0,
600
+ omit: typing.Optional[typing.Any] = None,
601
+ force_multipart: typing.Optional[bool] = None,
602
+ ) -> httpx.Response:
603
+ base_url = self.get_base_url(base_url)
604
+ timeout = (
605
+ request_options.get("timeout_in_seconds")
606
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
607
+ else self.base_timeout()
608
+ )
609
+
610
+ request_files: typing.Optional[RequestFiles] = (
611
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
612
+ if (files is not None and files is not omit and isinstance(files, dict))
613
+ else None
614
+ )
615
+
616
+ if (request_files is None or len(request_files) == 0) and force_multipart:
617
+ request_files = FORCE_MULTIPART
618
+
619
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
620
+
621
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
622
+
623
+ # Get headers (supports async token providers)
624
+ _headers = await self._get_headers()
625
+
626
+ # Compute encoded params separately to avoid passing empty list to httpx
627
+ # (httpx strips existing query params from URL when params=[] is passed)
628
+ _encoded_params = encode_query(
629
+ jsonable_encoder(
630
+ remove_none_from_dict(
631
+ remove_omit_from_dict(
632
+ {
633
+ **(params if params is not None else {}),
634
+ **(
635
+ request_options.get("additional_query_parameters", {}) or {}
636
+ if request_options is not None
637
+ else {}
638
+ ),
639
+ },
640
+ omit,
641
+ )
642
+ )
643
+ )
644
+ )
645
+
646
+ _request_url = _build_url(base_url, path)
647
+ _request_headers = jsonable_encoder(
648
+ remove_none_from_dict(
649
+ {
650
+ **_headers,
651
+ **(headers if headers is not None else {}),
652
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
653
+ }
654
+ )
655
+ )
656
+
657
+ if self.logger.is_debug():
658
+ self.logger.debug(
659
+ "Making HTTP request",
660
+ method=method,
661
+ url=_request_url,
662
+ headers=_redact_headers(_request_headers),
663
+ has_body=json_body is not None or data_body is not None,
664
+ )
665
+
666
+ max_retries: int = (
667
+ request_options.get("max_retries", self.base_max_retries)
668
+ if request_options is not None
669
+ else self.base_max_retries
670
+ )
671
+
672
+ try:
673
+ response = await self.httpx_client.request(
674
+ method=method,
675
+ url=_request_url,
676
+ headers=_request_headers,
677
+ params=_encoded_params if _encoded_params else None,
678
+ json=json_body,
679
+ data=data_body,
680
+ content=content,
681
+ files=request_files,
682
+ timeout=timeout,
683
+ )
684
+ except (httpx.ConnectError, httpx.RemoteProtocolError):
685
+ if retries < max_retries:
686
+ await asyncio.sleep(_retry_timeout_from_retries(retries=retries))
687
+ return await self.request(
688
+ path=path,
689
+ method=method,
690
+ base_url=base_url,
691
+ params=params,
692
+ json=json,
693
+ data=data,
694
+ content=content,
695
+ files=files,
696
+ headers=headers,
697
+ request_options=request_options,
698
+ retries=retries + 1,
699
+ omit=omit,
700
+ force_multipart=force_multipart,
701
+ )
702
+ raise
703
+
704
+ if _should_retry(response=response):
705
+ if retries < max_retries:
706
+ await asyncio.sleep(_retry_timeout(response=response, retries=retries))
707
+ return await self.request(
708
+ path=path,
709
+ method=method,
710
+ base_url=base_url,
711
+ params=params,
712
+ json=json,
713
+ data=data,
714
+ content=content,
715
+ files=files,
716
+ headers=headers,
717
+ request_options=request_options,
718
+ retries=retries + 1,
719
+ omit=omit,
720
+ force_multipart=force_multipart,
721
+ )
722
+
723
+ if self.logger.is_debug():
724
+ if 200 <= response.status_code < 400:
725
+ self.logger.debug(
726
+ "HTTP request succeeded",
727
+ method=method,
728
+ url=_request_url,
729
+ status_code=response.status_code,
730
+ )
731
+
732
+ if self.logger.is_error():
733
+ if response.status_code >= 400:
734
+ self.logger.error(
735
+ "HTTP request failed with error status",
736
+ method=method,
737
+ url=_request_url,
738
+ status_code=response.status_code,
739
+ )
740
+
741
+ return response
742
+
743
+ @asynccontextmanager
744
+ async def stream(
745
+ self,
746
+ path: typing.Optional[str] = None,
747
+ *,
748
+ method: str,
749
+ base_url: typing.Optional[str] = None,
750
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
751
+ json: typing.Optional[typing.Any] = None,
752
+ data: typing.Optional[typing.Any] = None,
753
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
754
+ files: typing.Optional[
755
+ typing.Union[
756
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
757
+ typing.List[typing.Tuple[str, File]],
758
+ ]
759
+ ] = None,
760
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
761
+ request_options: typing.Optional[RequestOptions] = None,
762
+ retries: int = 0,
763
+ omit: typing.Optional[typing.Any] = None,
764
+ force_multipart: typing.Optional[bool] = None,
765
+ ) -> typing.AsyncIterator[httpx.Response]:
766
+ base_url = self.get_base_url(base_url)
767
+ timeout = (
768
+ request_options.get("timeout_in_seconds")
769
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
770
+ else self.base_timeout()
771
+ )
772
+
773
+ request_files: typing.Optional[RequestFiles] = (
774
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
775
+ if (files is not None and files is not omit and isinstance(files, dict))
776
+ else None
777
+ )
778
+
779
+ if (request_files is None or len(request_files) == 0) and force_multipart:
780
+ request_files = FORCE_MULTIPART
781
+
782
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
783
+
784
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
785
+
786
+ # Get headers (supports async token providers)
787
+ _headers = await self._get_headers()
788
+
789
+ # Compute encoded params separately to avoid passing empty list to httpx
790
+ # (httpx strips existing query params from URL when params=[] is passed)
791
+ _encoded_params = encode_query(
792
+ jsonable_encoder(
793
+ remove_none_from_dict(
794
+ remove_omit_from_dict(
795
+ {
796
+ **(params if params is not None else {}),
797
+ **(
798
+ request_options.get("additional_query_parameters", {})
799
+ if request_options is not None
800
+ else {}
801
+ ),
802
+ },
803
+ omit=omit,
804
+ )
805
+ )
806
+ )
807
+ )
808
+
809
+ _request_url = _build_url(base_url, path)
810
+ _request_headers = jsonable_encoder(
811
+ remove_none_from_dict(
812
+ {
813
+ **_headers,
814
+ **(headers if headers is not None else {}),
815
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
816
+ }
817
+ )
818
+ )
819
+
820
+ if self.logger.is_debug():
821
+ self.logger.debug(
822
+ "Making streaming HTTP request",
823
+ method=method,
824
+ url=_request_url,
825
+ headers=_redact_headers(_request_headers),
826
+ )
827
+
828
+ async with self.httpx_client.stream(
829
+ method=method,
830
+ url=_request_url,
831
+ headers=_request_headers,
832
+ params=_encoded_params if _encoded_params else None,
833
+ json=json_body,
834
+ data=data_body,
835
+ content=content,
836
+ files=request_files,
837
+ timeout=timeout,
838
+ ) as stream:
839
+ yield stream