samplehc 0.15.0__tar.gz → 0.16.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. samplehc-0.16.0/.release-please-manifest.json +3 -0
  2. {samplehc-0.15.0 → samplehc-0.16.0}/CHANGELOG.md +20 -0
  3. {samplehc-0.15.0 → samplehc-0.16.0}/PKG-INFO +1 -1
  4. {samplehc-0.15.0 → samplehc-0.16.0}/api.md +6 -30
  5. {samplehc-0.15.0 → samplehc-0.16.0}/pyproject.toml +1 -1
  6. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_base_client.py +134 -11
  7. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_client.py +2 -6
  8. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_models.py +16 -1
  9. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_types.py +9 -0
  10. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_version.py +1 -1
  11. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/__init__.py +0 -14
  12. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/communication.py +5 -4
  13. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/v2.py +0 -32
  14. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/__init__.py +1 -0
  15. samplehc-0.16.0/src/samplehc/types/v2/communication_send_email_response.py +27 -0
  16. samplehc-0.16.0/src/samplehc/types/v2/ledger/__init__.py +3 -0
  17. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_communication.py +9 -8
  18. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_client.py +187 -2
  19. samplehc-0.15.0/.release-please-manifest.json +0 -3
  20. samplehc-0.15.0/src/samplehc/resources/v2/ledger/__init__.py +0 -47
  21. samplehc-0.15.0/src/samplehc/resources/v2/ledger/account.py +0 -297
  22. samplehc-0.15.0/src/samplehc/resources/v2/ledger/entry.py +0 -381
  23. samplehc-0.15.0/src/samplehc/resources/v2/ledger/ledger.py +0 -134
  24. samplehc-0.15.0/src/samplehc/types/v2/ledger/__init__.py +0 -10
  25. samplehc-0.15.0/src/samplehc/types/v2/ledger/account_writeoff_params.py +0 -23
  26. samplehc-0.15.0/src/samplehc/types/v2/ledger/account_writeoff_response.py +0 -12
  27. samplehc-0.15.0/src/samplehc/types/v2/ledger/entry_post_params.py +0 -60
  28. samplehc-0.15.0/src/samplehc/types/v2/ledger/entry_post_response.py +0 -10
  29. samplehc-0.15.0/src/samplehc/types/v2/ledger/entry_reverse_params.py +0 -18
  30. samplehc-0.15.0/src/samplehc/types/v2/ledger/entry_reverse_response.py +0 -10
  31. samplehc-0.15.0/tests/api_resources/v2/ledger/test_account.py +0 -266
  32. samplehc-0.15.0/tests/api_resources/v2/ledger/test_entry.py +0 -248
  33. samplehc-0.15.0/tests/api_resources/v2/workflow_runs/__init__.py +0 -1
  34. {samplehc-0.15.0 → samplehc-0.16.0}/.gitignore +0 -0
  35. {samplehc-0.15.0 → samplehc-0.16.0}/CONTRIBUTING.md +0 -0
  36. {samplehc-0.15.0 → samplehc-0.16.0}/LICENSE +0 -0
  37. {samplehc-0.15.0 → samplehc-0.16.0}/README.md +0 -0
  38. {samplehc-0.15.0 → samplehc-0.16.0}/SECURITY.md +0 -0
  39. {samplehc-0.15.0 → samplehc-0.16.0}/bin/check-release-environment +0 -0
  40. {samplehc-0.15.0 → samplehc-0.16.0}/bin/publish-pypi +0 -0
  41. {samplehc-0.15.0 → samplehc-0.16.0}/examples/.keep +0 -0
  42. {samplehc-0.15.0 → samplehc-0.16.0}/noxfile.py +0 -0
  43. {samplehc-0.15.0 → samplehc-0.16.0}/release-please-config.json +0 -0
  44. {samplehc-0.15.0 → samplehc-0.16.0}/requirements-dev.lock +0 -0
  45. {samplehc-0.15.0 → samplehc-0.16.0}/requirements.lock +0 -0
  46. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/__init__.py +0 -0
  47. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_compat.py +0 -0
  48. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_constants.py +0 -0
  49. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_exceptions.py +0 -0
  50. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_files.py +0 -0
  51. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_qs.py +0 -0
  52. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_resource.py +0 -0
  53. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_response.py +0 -0
  54. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_streaming.py +0 -0
  55. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/__init__.py +0 -0
  56. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_compat.py +0 -0
  57. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_datetime_parse.py +0 -0
  58. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_logs.py +0 -0
  59. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_proxy.py +0 -0
  60. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_reflection.py +0 -0
  61. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_resources_proxy.py +0 -0
  62. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_streams.py +0 -0
  63. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_sync.py +0 -0
  64. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_transform.py +0 -0
  65. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_typing.py +0 -0
  66. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/_utils/_utils.py +0 -0
  67. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/lib/.keep +0 -0
  68. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/py.typed +0 -0
  69. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/__init__.py +0 -0
  70. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v1/__init__.py +0 -0
  71. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v1/v1.py +0 -0
  72. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/async_results.py +0 -0
  73. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/clearinghouse/__init__.py +0 -0
  74. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/clearinghouse/claim.py +0 -0
  75. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/clearinghouse/clearinghouse.py +0 -0
  76. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/clearinghouse/payers.py +0 -0
  77. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/database.py +0 -0
  78. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/__init__.py +0 -0
  79. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/documents.py +0 -0
  80. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/formats.py +0 -0
  81. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/legacy.py +0 -0
  82. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/pdf_template.py +0 -0
  83. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/documents/templates.py +0 -0
  84. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/events.py +0 -0
  85. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/hie/__init__.py +0 -0
  86. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/hie/adt.py +0 -0
  87. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/hie/documents.py +0 -0
  88. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/hie/hie.py +0 -0
  89. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/__init__.py +0 -0
  90. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/bank/__init__.py +0 -0
  91. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/bank/bank.py +0 -0
  92. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/bank/transactions.py +0 -0
  93. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/careviso.py +0 -0
  94. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/glidian/__init__.py +0 -0
  95. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/glidian/glidian.py +0 -0
  96. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/__init__.py +0 -0
  97. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/clinical_questions.py +0 -0
  98. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/prior_authorizations.py +0 -0
  99. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/integrations.py +0 -0
  100. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/kno2/__init__.py +0 -0
  101. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/kno2/kno2.py +0 -0
  102. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/kno2/messages.py +0 -0
  103. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/salesforce.py +0 -0
  104. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/snowflake.py +0 -0
  105. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/wellsky/__init__.py +0 -0
  106. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/wellsky/patients.py +0 -0
  107. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/wellsky/wellsky.py +0 -0
  108. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/integrations/xcures.py +0 -0
  109. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/policies.py +0 -0
  110. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/tasks/__init__.py +0 -0
  111. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/tasks/state.py +0 -0
  112. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/tasks/tasks.py +0 -0
  113. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/workflow_runs/__init__.py +0 -0
  114. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/workflow_runs/step.py +0 -0
  115. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/workflow_runs/workflow_runs.py +0 -0
  116. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/resources/v2/workflows.py +0 -0
  117. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/__init__.py +0 -0
  118. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v1/__init__.py +0 -0
  119. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v1_query_audit_logs_params.py +0 -0
  120. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v1_query_audit_logs_response.py +0 -0
  121. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v1_sql_execute_params.py +0 -0
  122. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v1_sql_execute_response.py +0 -0
  123. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/async_result_retrieve_response.py +0 -0
  124. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/async_result_sleep_params.py +0 -0
  125. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/async_result_sleep_response.py +0 -0
  126. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/__init__.py +0 -0
  127. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/claim_submit_params.py +0 -0
  128. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/claim_submit_response.py +0 -0
  129. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/payer_list_response.py +0 -0
  130. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/payer_search_params.py +0 -0
  131. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse/payer_search_response.py +0 -0
  132. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_calculate_patient_cost_params.py +0 -0
  133. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_check_claim_status_params.py +0 -0
  134. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_check_eligibility_params.py +0 -0
  135. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_check_eligibility_response.py +0 -0
  136. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_coordination_of_benefits_params.py +0 -0
  137. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_run_discovery_params.py +0 -0
  138. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/clearinghouse_run_discovery_response.py +0 -0
  139. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/communication_send_email_params.py +0 -0
  140. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/communication_send_fax_params.py +0 -0
  141. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/communication_send_fax_response.py +0 -0
  142. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/communication_send_letter_params.py +0 -0
  143. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/communication_send_letter_response.py +0 -0
  144. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/database_execute_sql_params.py +0 -0
  145. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/database_execute_sql_response.py +0 -0
  146. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_classify_params.py +0 -0
  147. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_classify_response.py +0 -0
  148. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_combine_params.py +0 -0
  149. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_combine_response.py +0 -0
  150. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_create_from_splits_params.py +0 -0
  151. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_create_from_splits_response.py +0 -0
  152. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_extract_params.py +0 -0
  153. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_extract_response.py +0 -0
  154. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_generate_csv_params.py +0 -0
  155. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_generate_csv_response.py +0 -0
  156. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_presigned_upload_url_params.py +0 -0
  157. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_presigned_upload_url_response.py +0 -0
  158. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_retrieve_csv_content_response.py +0 -0
  159. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_retrieve_metadata_response.py +0 -0
  160. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_retrieve_response.py +0 -0
  161. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_search_params.py +0 -0
  162. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_search_response.py +0 -0
  163. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_split_params.py +0 -0
  164. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_split_response.py +0 -0
  165. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_transform_json_to_html_params.py +0 -0
  166. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_transform_json_to_html_response.py +0 -0
  167. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_unzip_async_response.py +0 -0
  168. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/document_unzip_response.py +0 -0
  169. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/__init__.py +0 -0
  170. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/format_create_pdf_params.py +0 -0
  171. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/format_create_pdf_response.py +0 -0
  172. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_extract_params.py +0 -0
  173. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_extract_response.py +0 -0
  174. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_reason_params.py +0 -0
  175. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_reason_response.py +0 -0
  176. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_split_params.py +0 -0
  177. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/legacy_split_response.py +0 -0
  178. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/pdf_template_retrieve_metadata_response.py +0 -0
  179. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/template_generate_document_async_params.py +0 -0
  180. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/template_generate_document_async_response.py +0 -0
  181. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/template_render_document_params.py +0 -0
  182. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/documents/template_render_document_response.py +0 -0
  183. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/event_emit_params.py +0 -0
  184. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/event_emit_response.py +0 -0
  185. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/hie/__init__.py +0 -0
  186. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/hie/adt_subscribe_params.py +0 -0
  187. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/hie/document_query_params.py +0 -0
  188. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/hie/document_query_response.py +0 -0
  189. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/hie/document_upload_params.py +0 -0
  190. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/__init__.py +0 -0
  191. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/bank/__init__.py +0 -0
  192. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/bank/transaction_sync_params.py +0 -0
  193. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/bank/transaction_sync_response.py +0 -0
  194. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/careviso_get_payers_response.py +0 -0
  195. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/careviso_submit_prior_authorization_params.py +0 -0
  196. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/__init__.py +0 -0
  197. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_params.py +0 -0
  198. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_response.py +0 -0
  199. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_retrieve_record_response.py +0 -0
  200. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_submit_response.py +0 -0
  201. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_update_record_params.py +0 -0
  202. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorization_update_record_response.py +0 -0
  203. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorizations/__init__.py +0 -0
  204. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_list_response.py +0 -0
  205. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_params.py +0 -0
  206. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_response.py +0 -0
  207. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_get_submission_requirements_params.py +0 -0
  208. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_get_submission_requirements_response.py +0 -0
  209. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_list_payers_params.py +0 -0
  210. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_list_payers_response.py +0 -0
  211. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_list_services_params.py +0 -0
  212. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/glidian_list_services_response.py +0 -0
  213. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/kno2/__init__.py +0 -0
  214. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/kno2/message_get_attachment_response.py +0 -0
  215. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/kno2/message_retrieve_response.py +0 -0
  216. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/salesforce_run_crud_action_params.py +0 -0
  217. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/salesforce_run_soql_query_params.py +0 -0
  218. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/snowflake_query_params.py +0 -0
  219. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/snowflake_query_response.py +0 -0
  220. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/wellsky/__init__.py +0 -0
  221. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/wellsky/patient_add_params.py +0 -0
  222. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/wellsky/patient_search_params.py +0 -0
  223. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/integrations/xcure_make_request_params.py +0 -0
  224. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_companies_params.py +0 -0
  225. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_companies_response.py +0 -0
  226. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_params.py +0 -0
  227. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_plans_params.py +0 -0
  228. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_plans_response.py +0 -0
  229. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_list_response.py +0 -0
  230. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_retrieve_presigned_url_response.py +0 -0
  231. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/policy_retrieve_text_response.py +0 -0
  232. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_cancel_response.py +0 -0
  233. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_complete_params.py +0 -0
  234. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_complete_response.py +0 -0
  235. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_get_suspended_payload_response.py +0 -0
  236. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_retrieve_response.py +0 -0
  237. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_retry_response.py +0 -0
  238. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_update_column_params.py +0 -0
  239. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_update_column_response.py +0 -0
  240. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_update_screen_time_params.py +0 -0
  241. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/task_update_screen_time_response.py +0 -0
  242. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/tasks/__init__.py +0 -0
  243. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/tasks/state_get_response.py +0 -0
  244. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/tasks/state_update_params.py +0 -0
  245. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/tasks/state_update_response.py +0 -0
  246. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_deploy_response.py +0 -0
  247. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_query_params.py +0 -0
  248. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_query_response.py +0 -0
  249. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_run_get_start_data_response.py +0 -0
  250. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_run_resume_when_complete_params.py +0 -0
  251. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_run_resume_when_complete_response.py +0 -0
  252. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_run_retrieve_response.py +0 -0
  253. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_runs/__init__.py +0 -0
  254. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_runs/step_get_output_response.py +0 -0
  255. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_start_params.py +0 -0
  256. {samplehc-0.15.0 → samplehc-0.16.0}/src/samplehc/types/v2/workflow_start_response.py +0 -0
  257. {samplehc-0.15.0 → samplehc-0.16.0}/tests/__init__.py +0 -0
  258. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/__init__.py +0 -0
  259. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/test_v1.py +0 -0
  260. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v1/__init__.py +0 -0
  261. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/__init__.py +0 -0
  262. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/clearinghouse/__init__.py +0 -0
  263. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/clearinghouse/test_claim.py +0 -0
  264. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/clearinghouse/test_payers.py +0 -0
  265. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/documents/__init__.py +0 -0
  266. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/documents/test_formats.py +0 -0
  267. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/documents/test_legacy.py +0 -0
  268. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/documents/test_pdf_template.py +0 -0
  269. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/documents/test_templates.py +0 -0
  270. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/hie/__init__.py +0 -0
  271. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/hie/test_adt.py +0 -0
  272. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/hie/test_documents.py +0 -0
  273. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/__init__.py +0 -0
  274. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/bank/__init__.py +0 -0
  275. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/bank/test_transactions.py +0 -0
  276. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/glidian/__init__.py +0 -0
  277. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/glidian/prior_authorizations/__init__.py +0 -0
  278. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/glidian/prior_authorizations/test_clinical_questions.py +0 -0
  279. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/glidian/test_prior_authorizations.py +0 -0
  280. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/kno2/__init__.py +0 -0
  281. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/kno2/test_messages.py +0 -0
  282. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/test_careviso.py +0 -0
  283. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/test_glidian.py +0 -0
  284. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/test_salesforce.py +0 -0
  285. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/test_snowflake.py +0 -0
  286. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/test_xcures.py +0 -0
  287. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/wellsky/__init__.py +0 -0
  288. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/integrations/wellsky/test_patients.py +0 -0
  289. {samplehc-0.15.0/tests/api_resources/v2/ledger → samplehc-0.16.0/tests/api_resources/v2/tasks}/__init__.py +0 -0
  290. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/tasks/test_state.py +0 -0
  291. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_async_results.py +0 -0
  292. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_clearinghouse.py +0 -0
  293. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_database.py +0 -0
  294. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_documents.py +0 -0
  295. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_events.py +0 -0
  296. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_policies.py +0 -0
  297. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_tasks.py +0 -0
  298. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_workflow_runs.py +0 -0
  299. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/test_workflows.py +0 -0
  300. {samplehc-0.15.0/tests/api_resources/v2/tasks → samplehc-0.16.0/tests/api_resources/v2/workflow_runs}/__init__.py +0 -0
  301. {samplehc-0.15.0 → samplehc-0.16.0}/tests/api_resources/v2/workflow_runs/test_step.py +0 -0
  302. {samplehc-0.15.0 → samplehc-0.16.0}/tests/conftest.py +0 -0
  303. {samplehc-0.15.0 → samplehc-0.16.0}/tests/sample_file.txt +0 -0
  304. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_deepcopy.py +0 -0
  305. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_extract_files.py +0 -0
  306. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_files.py +0 -0
  307. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_models.py +0 -0
  308. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_qs.py +0 -0
  309. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_required_args.py +0 -0
  310. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_response.py +0 -0
  311. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_streaming.py +0 -0
  312. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_transform.py +0 -0
  313. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_utils/test_datetime_parse.py +0 -0
  314. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_utils/test_proxy.py +0 -0
  315. {samplehc-0.15.0 → samplehc-0.16.0}/tests/test_utils/test_typing.py +0 -0
  316. {samplehc-0.15.0 → samplehc-0.16.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.16.0"
3
+ }
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.16.0 (2026-01-22)
4
+
5
+ Full Changelog: [v0.15.0...v0.16.0](https://github.com/samplehc/samplehc-python/compare/v0.15.0...v0.16.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([2c5ebca](https://github.com/samplehc/samplehc-python/commit/2c5ebcaad40061800432214ba9684de5027cd214))
10
+ * **api:** api update ([6c12619](https://github.com/samplehc/samplehc-python/commit/6c1261941a01ae6691409542d792ce3f8527c893))
11
+ * **client:** add support for binary request streaming ([bd7faea](https://github.com/samplehc/samplehc-python/commit/bd7faeac1f2926620b2fb9f9151e91c22429f365))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **client:** loosen auth header validation ([08b85a9](https://github.com/samplehc/samplehc-python/commit/08b85a9a0735cedf0a650ac8ef704f36880dbe01))
17
+
18
+
19
+ ### Chores
20
+
21
+ * **internal:** update `actions/checkout` version ([7aa87fa](https://github.com/samplehc/samplehc-python/commit/7aa87faade3b1943520e2f95018a675f0513eaa9))
22
+
3
23
  ## 0.15.0 (2026-01-06)
4
24
 
5
25
  Full Changelog: [v0.14.0...v0.15.0](https://github.com/samplehc/samplehc-python/compare/v0.14.0...v0.15.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: samplehc
3
- Version: 0.15.0
3
+ Version: 0.16.0
4
4
  Summary: The official Python library for the Sample Healthcare API
5
5
  Project-URL: Homepage, https://github.com/samplehc/samplehc-python
6
6
  Project-URL: Repository, https://github.com/samplehc/samplehc-python
@@ -214,12 +214,16 @@ Methods:
214
214
  Types:
215
215
 
216
216
  ```python
217
- from samplehc.types.v2 import CommunicationSendFaxResponse, CommunicationSendLetterResponse
217
+ from samplehc.types.v2 import (
218
+ CommunicationSendEmailResponse,
219
+ CommunicationSendFaxResponse,
220
+ CommunicationSendLetterResponse,
221
+ )
218
222
  ```
219
223
 
220
224
  Methods:
221
225
 
222
- - <code title="post /api/v2/communication/send-email">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_email</a>(\*\*<a href="src/samplehc/types/v2/communication_send_email_params.py">params</a>) -> object</code>
226
+ - <code title="post /api/v2/communication/send-email">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_email</a>(\*\*<a href="src/samplehc/types/v2/communication_send_email_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_email_response.py">CommunicationSendEmailResponse</a></code>
223
227
  - <code title="post /api/v2/communication/send-fax">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_fax</a>(\*\*<a href="src/samplehc/types/v2/communication_send_fax_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_fax_response.py">CommunicationSendFaxResponse</a></code>
224
228
  - <code title="post /api/v2/communication/letters">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_letter</a>(\*\*<a href="src/samplehc/types/v2/communication_send_letter_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_letter_response.py">CommunicationSendLetterResponse</a></code>
225
229
 
@@ -269,34 +273,6 @@ Methods:
269
273
  - <code title="get /api/v2/clearinghouse/claim/{claimId}">client.v2.clearinghouse.claim.<a href="./src/samplehc/resources/v2/clearinghouse/claim.py">retrieve_status</a>(claim_id) -> object</code>
270
274
  - <code title="post /api/v2/clearinghouse/claim">client.v2.clearinghouse.claim.<a href="./src/samplehc/resources/v2/clearinghouse/claim.py">submit</a>(\*\*<a href="src/samplehc/types/v2/clearinghouse/claim_submit_params.py">params</a>) -> <a href="./src/samplehc/types/v2/clearinghouse/claim_submit_response.py">ClaimSubmitResponse</a></code>
271
275
 
272
- ## Ledger
273
-
274
- ### Entry
275
-
276
- Types:
277
-
278
- ```python
279
- from samplehc.types.v2.ledger import EntryPostResponse, EntryReverseResponse
280
- ```
281
-
282
- Methods:
283
-
284
- - <code title="post /api/v2/ledger/entry">client.v2.ledger.entry.<a href="./src/samplehc/resources/v2/ledger/entry.py">post</a>(\*\*<a href="src/samplehc/types/v2/ledger/entry_post_params.py">params</a>) -> <a href="./src/samplehc/types/v2/ledger/entry_post_response.py">EntryPostResponse</a></code>
285
- - <code title="post /api/v2/ledger/entry/{id}/reverse">client.v2.ledger.entry.<a href="./src/samplehc/resources/v2/ledger/entry.py">reverse</a>(id, \*\*<a href="src/samplehc/types/v2/ledger/entry_reverse_params.py">params</a>) -> <a href="./src/samplehc/types/v2/ledger/entry_reverse_response.py">EntryReverseResponse</a></code>
286
-
287
- ### Account
288
-
289
- Types:
290
-
291
- ```python
292
- from samplehc.types.v2.ledger import AccountWriteoffResponse
293
- ```
294
-
295
- Methods:
296
-
297
- - <code title="get /api/v2/ledger/account/{orderId}/line-item/{lineItemId}/balance">client.v2.ledger.account.<a href="./src/samplehc/resources/v2/ledger/account.py">get_balance</a>(line_item_id, \*, order_id) -> None</code>
298
- - <code title="post /api/v2/ledger/account/{orderId}/line-item/{lineItemId}/writeoff">client.v2.ledger.account.<a href="./src/samplehc/resources/v2/ledger/account.py">writeoff</a>(line_item_id, \*, order_id, \*\*<a href="src/samplehc/types/v2/ledger/account_writeoff_params.py">params</a>) -> <a href="./src/samplehc/types/v2/ledger/account_writeoff_response.py">AccountWriteoffResponse</a></code>
299
-
300
276
  ## Integrations
301
277
 
302
278
  ### Snowflake
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "samplehc"
3
- version = "0.15.0"
3
+ version = "0.16.0"
4
4
  description = "The official Python library for the Sample Healthcare API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -9,6 +9,7 @@ import asyncio
9
9
  import inspect
10
10
  import logging
11
11
  import platform
12
+ import warnings
12
13
  import email.utils
13
14
  from types import TracebackType
14
15
  from random import random
@@ -51,9 +52,11 @@ from ._types import (
51
52
  ResponseT,
52
53
  AnyMapping,
53
54
  PostParser,
55
+ BinaryTypes,
54
56
  RequestFiles,
55
57
  HttpxSendArgs,
56
58
  RequestOptions,
59
+ AsyncBinaryTypes,
57
60
  HttpxRequestFiles,
58
61
  ModelBuilderProtocol,
59
62
  not_given,
@@ -477,8 +480,19 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
477
480
  retries_taken: int = 0,
478
481
  ) -> httpx.Request:
479
482
  if log.isEnabledFor(logging.DEBUG):
480
- log.debug("Request options: %s", model_dump(options, exclude_unset=True))
481
-
483
+ log.debug(
484
+ "Request options: %s",
485
+ model_dump(
486
+ options,
487
+ exclude_unset=True,
488
+ # Pydantic v1 can't dump every type we support in content, so we exclude it for now.
489
+ exclude={
490
+ "content",
491
+ }
492
+ if PYDANTIC_V1
493
+ else {},
494
+ ),
495
+ )
482
496
  kwargs: dict[str, Any] = {}
483
497
 
484
498
  json_data = options.json_data
@@ -532,7 +546,13 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
532
546
  is_body_allowed = options.method.lower() != "get"
533
547
 
534
548
  if is_body_allowed:
535
- if isinstance(json_data, bytes):
549
+ if options.content is not None and json_data is not None:
550
+ raise TypeError("Passing both `content` and `json_data` is not supported")
551
+ if options.content is not None and files is not None:
552
+ raise TypeError("Passing both `content` and `files` is not supported")
553
+ if options.content is not None:
554
+ kwargs["content"] = options.content
555
+ elif isinstance(json_data, bytes):
536
556
  kwargs["content"] = json_data
537
557
  else:
538
558
  kwargs["json"] = json_data if is_given(json_data) else None
@@ -1194,6 +1214,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1194
1214
  *,
1195
1215
  cast_to: Type[ResponseT],
1196
1216
  body: Body | None = None,
1217
+ content: BinaryTypes | None = None,
1197
1218
  options: RequestOptions = {},
1198
1219
  files: RequestFiles | None = None,
1199
1220
  stream: Literal[False] = False,
@@ -1206,6 +1227,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1206
1227
  *,
1207
1228
  cast_to: Type[ResponseT],
1208
1229
  body: Body | None = None,
1230
+ content: BinaryTypes | None = None,
1209
1231
  options: RequestOptions = {},
1210
1232
  files: RequestFiles | None = None,
1211
1233
  stream: Literal[True],
@@ -1219,6 +1241,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1219
1241
  *,
1220
1242
  cast_to: Type[ResponseT],
1221
1243
  body: Body | None = None,
1244
+ content: BinaryTypes | None = None,
1222
1245
  options: RequestOptions = {},
1223
1246
  files: RequestFiles | None = None,
1224
1247
  stream: bool,
@@ -1231,13 +1254,25 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1231
1254
  *,
1232
1255
  cast_to: Type[ResponseT],
1233
1256
  body: Body | None = None,
1257
+ content: BinaryTypes | None = None,
1234
1258
  options: RequestOptions = {},
1235
1259
  files: RequestFiles | None = None,
1236
1260
  stream: bool = False,
1237
1261
  stream_cls: type[_StreamT] | None = None,
1238
1262
  ) -> ResponseT | _StreamT:
1263
+ if body is not None and content is not None:
1264
+ raise TypeError("Passing both `body` and `content` is not supported")
1265
+ if files is not None and content is not None:
1266
+ raise TypeError("Passing both `files` and `content` is not supported")
1267
+ if isinstance(body, bytes):
1268
+ warnings.warn(
1269
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1270
+ "Please pass raw bytes via the `content` parameter instead.",
1271
+ DeprecationWarning,
1272
+ stacklevel=2,
1273
+ )
1239
1274
  opts = FinalRequestOptions.construct(
1240
- method="post", url=path, json_data=body, files=to_httpx_files(files), **options
1275
+ method="post", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1241
1276
  )
1242
1277
  return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
1243
1278
 
@@ -1247,11 +1282,23 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1247
1282
  *,
1248
1283
  cast_to: Type[ResponseT],
1249
1284
  body: Body | None = None,
1285
+ content: BinaryTypes | None = None,
1250
1286
  files: RequestFiles | None = None,
1251
1287
  options: RequestOptions = {},
1252
1288
  ) -> ResponseT:
1289
+ if body is not None and content is not None:
1290
+ raise TypeError("Passing both `body` and `content` is not supported")
1291
+ if files is not None and content is not None:
1292
+ raise TypeError("Passing both `files` and `content` is not supported")
1293
+ if isinstance(body, bytes):
1294
+ warnings.warn(
1295
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1296
+ "Please pass raw bytes via the `content` parameter instead.",
1297
+ DeprecationWarning,
1298
+ stacklevel=2,
1299
+ )
1253
1300
  opts = FinalRequestOptions.construct(
1254
- method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
1301
+ method="patch", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1255
1302
  )
1256
1303
  return self.request(cast_to, opts)
1257
1304
 
@@ -1261,11 +1308,23 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1261
1308
  *,
1262
1309
  cast_to: Type[ResponseT],
1263
1310
  body: Body | None = None,
1311
+ content: BinaryTypes | None = None,
1264
1312
  files: RequestFiles | None = None,
1265
1313
  options: RequestOptions = {},
1266
1314
  ) -> ResponseT:
1315
+ if body is not None and content is not None:
1316
+ raise TypeError("Passing both `body` and `content` is not supported")
1317
+ if files is not None and content is not None:
1318
+ raise TypeError("Passing both `files` and `content` is not supported")
1319
+ if isinstance(body, bytes):
1320
+ warnings.warn(
1321
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1322
+ "Please pass raw bytes via the `content` parameter instead.",
1323
+ DeprecationWarning,
1324
+ stacklevel=2,
1325
+ )
1267
1326
  opts = FinalRequestOptions.construct(
1268
- method="put", url=path, json_data=body, files=to_httpx_files(files), **options
1327
+ method="put", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1269
1328
  )
1270
1329
  return self.request(cast_to, opts)
1271
1330
 
@@ -1275,9 +1334,19 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1275
1334
  *,
1276
1335
  cast_to: Type[ResponseT],
1277
1336
  body: Body | None = None,
1337
+ content: BinaryTypes | None = None,
1278
1338
  options: RequestOptions = {},
1279
1339
  ) -> ResponseT:
1280
- opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, **options)
1340
+ if body is not None and content is not None:
1341
+ raise TypeError("Passing both `body` and `content` is not supported")
1342
+ if isinstance(body, bytes):
1343
+ warnings.warn(
1344
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1345
+ "Please pass raw bytes via the `content` parameter instead.",
1346
+ DeprecationWarning,
1347
+ stacklevel=2,
1348
+ )
1349
+ opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, content=content, **options)
1281
1350
  return self.request(cast_to, opts)
1282
1351
 
1283
1352
  def get_api_list(
@@ -1717,6 +1786,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1717
1786
  *,
1718
1787
  cast_to: Type[ResponseT],
1719
1788
  body: Body | None = None,
1789
+ content: AsyncBinaryTypes | None = None,
1720
1790
  files: RequestFiles | None = None,
1721
1791
  options: RequestOptions = {},
1722
1792
  stream: Literal[False] = False,
@@ -1729,6 +1799,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1729
1799
  *,
1730
1800
  cast_to: Type[ResponseT],
1731
1801
  body: Body | None = None,
1802
+ content: AsyncBinaryTypes | None = None,
1732
1803
  files: RequestFiles | None = None,
1733
1804
  options: RequestOptions = {},
1734
1805
  stream: Literal[True],
@@ -1742,6 +1813,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1742
1813
  *,
1743
1814
  cast_to: Type[ResponseT],
1744
1815
  body: Body | None = None,
1816
+ content: AsyncBinaryTypes | None = None,
1745
1817
  files: RequestFiles | None = None,
1746
1818
  options: RequestOptions = {},
1747
1819
  stream: bool,
@@ -1754,13 +1826,25 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1754
1826
  *,
1755
1827
  cast_to: Type[ResponseT],
1756
1828
  body: Body | None = None,
1829
+ content: AsyncBinaryTypes | None = None,
1757
1830
  files: RequestFiles | None = None,
1758
1831
  options: RequestOptions = {},
1759
1832
  stream: bool = False,
1760
1833
  stream_cls: type[_AsyncStreamT] | None = None,
1761
1834
  ) -> ResponseT | _AsyncStreamT:
1835
+ if body is not None and content is not None:
1836
+ raise TypeError("Passing both `body` and `content` is not supported")
1837
+ if files is not None and content is not None:
1838
+ raise TypeError("Passing both `files` and `content` is not supported")
1839
+ if isinstance(body, bytes):
1840
+ warnings.warn(
1841
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1842
+ "Please pass raw bytes via the `content` parameter instead.",
1843
+ DeprecationWarning,
1844
+ stacklevel=2,
1845
+ )
1762
1846
  opts = FinalRequestOptions.construct(
1763
- method="post", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1847
+ method="post", url=path, json_data=body, content=content, files=await async_to_httpx_files(files), **options
1764
1848
  )
1765
1849
  return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
1766
1850
 
@@ -1770,11 +1854,28 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1770
1854
  *,
1771
1855
  cast_to: Type[ResponseT],
1772
1856
  body: Body | None = None,
1857
+ content: AsyncBinaryTypes | None = None,
1773
1858
  files: RequestFiles | None = None,
1774
1859
  options: RequestOptions = {},
1775
1860
  ) -> ResponseT:
1861
+ if body is not None and content is not None:
1862
+ raise TypeError("Passing both `body` and `content` is not supported")
1863
+ if files is not None and content is not None:
1864
+ raise TypeError("Passing both `files` and `content` is not supported")
1865
+ if isinstance(body, bytes):
1866
+ warnings.warn(
1867
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1868
+ "Please pass raw bytes via the `content` parameter instead.",
1869
+ DeprecationWarning,
1870
+ stacklevel=2,
1871
+ )
1776
1872
  opts = FinalRequestOptions.construct(
1777
- method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1873
+ method="patch",
1874
+ url=path,
1875
+ json_data=body,
1876
+ content=content,
1877
+ files=await async_to_httpx_files(files),
1878
+ **options,
1778
1879
  )
1779
1880
  return await self.request(cast_to, opts)
1780
1881
 
@@ -1784,11 +1885,23 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1784
1885
  *,
1785
1886
  cast_to: Type[ResponseT],
1786
1887
  body: Body | None = None,
1888
+ content: AsyncBinaryTypes | None = None,
1787
1889
  files: RequestFiles | None = None,
1788
1890
  options: RequestOptions = {},
1789
1891
  ) -> ResponseT:
1892
+ if body is not None and content is not None:
1893
+ raise TypeError("Passing both `body` and `content` is not supported")
1894
+ if files is not None and content is not None:
1895
+ raise TypeError("Passing both `files` and `content` is not supported")
1896
+ if isinstance(body, bytes):
1897
+ warnings.warn(
1898
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1899
+ "Please pass raw bytes via the `content` parameter instead.",
1900
+ DeprecationWarning,
1901
+ stacklevel=2,
1902
+ )
1790
1903
  opts = FinalRequestOptions.construct(
1791
- method="put", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1904
+ method="put", url=path, json_data=body, content=content, files=await async_to_httpx_files(files), **options
1792
1905
  )
1793
1906
  return await self.request(cast_to, opts)
1794
1907
 
@@ -1798,9 +1911,19 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1798
1911
  *,
1799
1912
  cast_to: Type[ResponseT],
1800
1913
  body: Body | None = None,
1914
+ content: AsyncBinaryTypes | None = None,
1801
1915
  options: RequestOptions = {},
1802
1916
  ) -> ResponseT:
1803
- opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, **options)
1917
+ if body is not None and content is not None:
1918
+ raise TypeError("Passing both `body` and `content` is not supported")
1919
+ if isinstance(body, bytes):
1920
+ warnings.warn(
1921
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1922
+ "Please pass raw bytes via the `content` parameter instead.",
1923
+ DeprecationWarning,
1924
+ stacklevel=2,
1925
+ )
1926
+ opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, content=content, **options)
1804
1927
  return await self.request(cast_to, opts)
1805
1928
 
1806
1929
  def get_api_list(
@@ -143,9 +143,7 @@ class SampleHealthcare(SyncAPIClient):
143
143
 
144
144
  @override
145
145
  def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None:
146
- if self.api_key and headers.get("Authorization"):
147
- return
148
- if isinstance(custom_headers.get("Authorization"), Omit):
146
+ if headers.get("Authorization") or isinstance(custom_headers.get("Authorization"), Omit):
149
147
  return
150
148
 
151
149
  raise TypeError(
@@ -332,9 +330,7 @@ class AsyncSampleHealthcare(AsyncAPIClient):
332
330
 
333
331
  @override
334
332
  def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None:
335
- if self.api_key and headers.get("Authorization"):
336
- return
337
- if isinstance(custom_headers.get("Authorization"), Omit):
333
+ if headers.get("Authorization") or isinstance(custom_headers.get("Authorization"), Omit):
338
334
  return
339
335
 
340
336
  raise TypeError(
@@ -3,7 +3,20 @@ from __future__ import annotations
3
3
  import os
4
4
  import inspect
5
5
  import weakref
6
- from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast
6
+ from typing import (
7
+ IO,
8
+ TYPE_CHECKING,
9
+ Any,
10
+ Type,
11
+ Union,
12
+ Generic,
13
+ TypeVar,
14
+ Callable,
15
+ Iterable,
16
+ Optional,
17
+ AsyncIterable,
18
+ cast,
19
+ )
7
20
  from datetime import date, datetime
8
21
  from typing_extensions import (
9
22
  List,
@@ -787,6 +800,7 @@ class FinalRequestOptionsInput(TypedDict, total=False):
787
800
  timeout: float | Timeout | None
788
801
  files: HttpxRequestFiles | None
789
802
  idempotency_key: str
803
+ content: Union[bytes, bytearray, IO[bytes], Iterable[bytes], AsyncIterable[bytes], None]
790
804
  json_data: Body
791
805
  extra_json: AnyMapping
792
806
  follow_redirects: bool
@@ -805,6 +819,7 @@ class FinalRequestOptions(pydantic.BaseModel):
805
819
  post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven()
806
820
  follow_redirects: Union[bool, None] = None
807
821
 
822
+ content: Union[bytes, bytearray, IO[bytes], Iterable[bytes], AsyncIterable[bytes], None] = None
808
823
  # It should be noted that we cannot use `json` here as that would override
809
824
  # a BaseModel method in an incompatible fashion.
810
825
  json_data: Union[Body, None] = None
@@ -13,9 +13,11 @@ from typing import (
13
13
  Mapping,
14
14
  TypeVar,
15
15
  Callable,
16
+ Iterable,
16
17
  Iterator,
17
18
  Optional,
18
19
  Sequence,
20
+ AsyncIterable,
19
21
  )
20
22
  from typing_extensions import (
21
23
  Set,
@@ -56,6 +58,13 @@ if TYPE_CHECKING:
56
58
  else:
57
59
  Base64FileInput = Union[IO[bytes], PathLike]
58
60
  FileContent = Union[IO[bytes], bytes, PathLike] # PathLike is not subscriptable in Python 3.8.
61
+
62
+
63
+ # Used for sending raw binary data / streaming data in request bodies
64
+ # e.g. for file uploads without multipart encoding
65
+ BinaryTypes = Union[bytes, bytearray, IO[bytes], Iterable[bytes]]
66
+ AsyncBinaryTypes = Union[bytes, bytearray, IO[bytes], AsyncIterable[bytes]]
67
+
59
68
  FileTypes = Union[
60
69
  # file (or bytes)
61
70
  FileContent,
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "samplehc"
4
- __version__ = "0.15.0" # x-release-please-version
4
+ __version__ = "0.16.0" # x-release-please-version
@@ -32,14 +32,6 @@ from .events import (
32
32
  EventsResourceWithStreamingResponse,
33
33
  AsyncEventsResourceWithStreamingResponse,
34
34
  )
35
- from .ledger import (
36
- LedgerResource,
37
- AsyncLedgerResource,
38
- LedgerResourceWithRawResponse,
39
- AsyncLedgerResourceWithRawResponse,
40
- LedgerResourceWithStreamingResponse,
41
- AsyncLedgerResourceWithStreamingResponse,
42
- )
43
35
  from .database import (
44
36
  DatabaseResource,
45
37
  AsyncDatabaseResource,
@@ -156,12 +148,6 @@ __all__ = [
156
148
  "AsyncClearinghouseResourceWithRawResponse",
157
149
  "ClearinghouseResourceWithStreamingResponse",
158
150
  "AsyncClearinghouseResourceWithStreamingResponse",
159
- "LedgerResource",
160
- "AsyncLedgerResource",
161
- "LedgerResourceWithRawResponse",
162
- "AsyncLedgerResourceWithRawResponse",
163
- "LedgerResourceWithStreamingResponse",
164
- "AsyncLedgerResourceWithStreamingResponse",
165
151
  "IntegrationsResource",
166
152
  "AsyncIntegrationsResource",
167
153
  "IntegrationsResourceWithRawResponse",
@@ -19,6 +19,7 @@ from ..._response import (
19
19
  )
20
20
  from ..._base_client import make_request_options
21
21
  from ...types.v2.communication_send_fax_response import CommunicationSendFaxResponse
22
+ from ...types.v2.communication_send_email_response import CommunicationSendEmailResponse
22
23
  from ...types.v2.communication_send_letter_response import CommunicationSendLetterResponse
23
24
 
24
25
  __all__ = ["CommunicationResource", "AsyncCommunicationResource"]
@@ -61,7 +62,7 @@ class CommunicationResource(SyncAPIResource):
61
62
  extra_query: Query | None = None,
62
63
  extra_body: Body | None = None,
63
64
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
64
- ) -> object:
65
+ ) -> CommunicationSendEmailResponse:
65
66
  """Processes and dispatches an email.
66
67
 
67
68
  Supports plain text and encrypted emails.
@@ -115,7 +116,7 @@ class CommunicationResource(SyncAPIResource):
115
116
  options=make_request_options(
116
117
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
117
118
  ),
118
- cast_to=object,
119
+ cast_to=CommunicationSendEmailResponse,
119
120
  )
120
121
 
121
122
  def send_fax(
@@ -272,7 +273,7 @@ class AsyncCommunicationResource(AsyncAPIResource):
272
273
  extra_query: Query | None = None,
273
274
  extra_body: Body | None = None,
274
275
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
275
- ) -> object:
276
+ ) -> CommunicationSendEmailResponse:
276
277
  """Processes and dispatches an email.
277
278
 
278
279
  Supports plain text and encrypted emails.
@@ -326,7 +327,7 @@ class AsyncCommunicationResource(AsyncAPIResource):
326
327
  options=make_request_options(
327
328
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
328
329
  ),
329
- cast_to=object,
330
+ cast_to=CommunicationSendEmailResponse,
330
331
  )
331
332
 
332
333
  async def send_fax(
@@ -68,14 +68,6 @@ from .communication import (
68
68
  CommunicationResourceWithStreamingResponse,
69
69
  AsyncCommunicationResourceWithStreamingResponse,
70
70
  )
71
- from .ledger.ledger import (
72
- LedgerResource,
73
- AsyncLedgerResource,
74
- LedgerResourceWithRawResponse,
75
- AsyncLedgerResourceWithRawResponse,
76
- LedgerResourceWithStreamingResponse,
77
- AsyncLedgerResourceWithStreamingResponse,
78
- )
79
71
  from .documents.documents import (
80
72
  DocumentsResource,
81
73
  AsyncDocumentsResource,
@@ -141,10 +133,6 @@ class V2Resource(SyncAPIResource):
141
133
  def clearinghouse(self) -> ClearinghouseResource:
142
134
  return ClearinghouseResource(self._client)
143
135
 
144
- @cached_property
145
- def ledger(self) -> LedgerResource:
146
- return LedgerResource(self._client)
147
-
148
136
  @cached_property
149
137
  def integrations(self) -> IntegrationsResource:
150
138
  return IntegrationsResource(self._client)
@@ -214,10 +202,6 @@ class AsyncV2Resource(AsyncAPIResource):
214
202
  def clearinghouse(self) -> AsyncClearinghouseResource:
215
203
  return AsyncClearinghouseResource(self._client)
216
204
 
217
- @cached_property
218
- def ledger(self) -> AsyncLedgerResource:
219
- return AsyncLedgerResource(self._client)
220
-
221
205
  @cached_property
222
206
  def integrations(self) -> AsyncIntegrationsResource:
223
207
  return AsyncIntegrationsResource(self._client)
@@ -290,10 +274,6 @@ class V2ResourceWithRawResponse:
290
274
  def clearinghouse(self) -> ClearinghouseResourceWithRawResponse:
291
275
  return ClearinghouseResourceWithRawResponse(self._v2.clearinghouse)
292
276
 
293
- @cached_property
294
- def ledger(self) -> LedgerResourceWithRawResponse:
295
- return LedgerResourceWithRawResponse(self._v2.ledger)
296
-
297
277
  @cached_property
298
278
  def integrations(self) -> IntegrationsResourceWithRawResponse:
299
279
  return IntegrationsResourceWithRawResponse(self._v2.integrations)
@@ -347,10 +327,6 @@ class AsyncV2ResourceWithRawResponse:
347
327
  def clearinghouse(self) -> AsyncClearinghouseResourceWithRawResponse:
348
328
  return AsyncClearinghouseResourceWithRawResponse(self._v2.clearinghouse)
349
329
 
350
- @cached_property
351
- def ledger(self) -> AsyncLedgerResourceWithRawResponse:
352
- return AsyncLedgerResourceWithRawResponse(self._v2.ledger)
353
-
354
330
  @cached_property
355
331
  def integrations(self) -> AsyncIntegrationsResourceWithRawResponse:
356
332
  return AsyncIntegrationsResourceWithRawResponse(self._v2.integrations)
@@ -404,10 +380,6 @@ class V2ResourceWithStreamingResponse:
404
380
  def clearinghouse(self) -> ClearinghouseResourceWithStreamingResponse:
405
381
  return ClearinghouseResourceWithStreamingResponse(self._v2.clearinghouse)
406
382
 
407
- @cached_property
408
- def ledger(self) -> LedgerResourceWithStreamingResponse:
409
- return LedgerResourceWithStreamingResponse(self._v2.ledger)
410
-
411
383
  @cached_property
412
384
  def integrations(self) -> IntegrationsResourceWithStreamingResponse:
413
385
  return IntegrationsResourceWithStreamingResponse(self._v2.integrations)
@@ -461,10 +433,6 @@ class AsyncV2ResourceWithStreamingResponse:
461
433
  def clearinghouse(self) -> AsyncClearinghouseResourceWithStreamingResponse:
462
434
  return AsyncClearinghouseResourceWithStreamingResponse(self._v2.clearinghouse)
463
435
 
464
- @cached_property
465
- def ledger(self) -> AsyncLedgerResourceWithStreamingResponse:
466
- return AsyncLedgerResourceWithStreamingResponse(self._v2.ledger)
467
-
468
436
  @cached_property
469
437
  def integrations(self) -> AsyncIntegrationsResourceWithStreamingResponse:
470
438
  return AsyncIntegrationsResourceWithStreamingResponse(self._v2.integrations)
@@ -50,6 +50,7 @@ from .communication_send_email_params import CommunicationSendEmailParams as Com
50
50
  from .communication_send_fax_response import CommunicationSendFaxResponse as CommunicationSendFaxResponse
51
51
  from .communication_send_letter_params import CommunicationSendLetterParams as CommunicationSendLetterParams
52
52
  from .task_update_screen_time_response import TaskUpdateScreenTimeResponse as TaskUpdateScreenTimeResponse
53
+ from .communication_send_email_response import CommunicationSendEmailResponse as CommunicationSendEmailResponse
53
54
  from .clearinghouse_run_discovery_params import ClearinghouseRunDiscoveryParams as ClearinghouseRunDiscoveryParams
54
55
  from .communication_send_letter_response import CommunicationSendLetterResponse as CommunicationSendLetterResponse
55
56
  from .document_create_from_splits_params import DocumentCreateFromSplitsParams as DocumentCreateFromSplitsParams