jaxl-python 0.0.45__tar.gz → 0.0.47__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 (282) hide show
  1. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/PKG-INFO +1 -1
  2. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/base.py +8 -0
  3. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/_scm_version.py +2 -2
  4. jaxl_python-0.0.47/jaxl/api/client/api/v1/v1_calls_metadata_create.py +215 -0
  5. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_phonenumbers_partial_update.py +32 -14
  6. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/__init__.py +20 -2
  7. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call.py +45 -1
  8. jaxl_python-0.0.47/jaxl/api/client/models/failure_reason_enum.py +33 -0
  9. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/integrations_properties_request.py +42 -0
  10. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/integrations_request_provider_enum.py +2 -0
  11. jaxl_python-0.0.47/jaxl/api/client/models/nimbus_post_auth_request_request.py +83 -0
  12. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_group_response.py +8 -8
  13. jaxl_python-0.0.47/jaxl/api/client/models/patched_phone_number_update_request.py +145 -0
  14. jaxl_python-0.0.47/jaxl/api/client/models/patched_phone_number_update_request_frontdesk.py +53 -0
  15. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number.py +51 -1
  16. jaxl_python-0.0.47/jaxl/api/client/models/phone_number_frontdesk.py +53 -0
  17. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/platform_enum.py +2 -0
  18. jaxl_python-0.0.47/jaxl/api/client/models/ringing_strategy_enum.py +18 -0
  19. jaxl_python-0.0.47/jaxl/api/client/models/sales_max_auth_request_request.py +66 -0
  20. jaxl_python-0.0.47/jaxl/api/client/models/v1_calls_metadata_create_json_body.py +53 -0
  21. jaxl_python-0.0.47/jaxl/api/client/models/v1_calls_metadata_create_response_200.py +53 -0
  22. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/apps.py +24 -0
  23. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/calls.py +45 -0
  24. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/campaigns.py +10 -1
  25. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/phones.py +3 -3
  26. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/PKG-INFO +1 -1
  27. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/SOURCES.txt +10 -1
  28. jaxl_python-0.0.45/jaxl/api/client/models/patched_phone_number_request.py +0 -67
  29. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/.github/workflows/sdk.yml +0 -0
  30. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/.gitignore +0 -0
  31. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/.isort.cfg +0 -0
  32. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/.pylintrc +0 -0
  33. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/.vscode/settings.json +0 -0
  34. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/LICENSE.md +0 -0
  35. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/README.md +0 -0
  36. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/SPECIFICATION.md +0 -0
  37. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/docs.sh +0 -0
  38. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/README.md +0 -0
  39. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/__init__.py +0 -0
  40. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/prompts/example.txt +0 -0
  41. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/py.typed +0 -0
  42. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/request_and_confirm_code_then_send_to_phone.py +0 -0
  43. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/request_code_and_send_to_phone.py +0 -0
  44. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/send_to_phone.py +0 -0
  45. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/streaming_aiagent.py +0 -0
  46. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/streaming_audio_chunks.py +0 -0
  47. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/streaming_speech_segments.py +0 -0
  48. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/streaming_transcriptions.py +0 -0
  49. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/examples/streaming_wav_file.py +0 -0
  50. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/index.md +0 -0
  51. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/__init__.py +0 -0
  52. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/_client.py +0 -0
  53. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/_sdk.py +0 -0
  54. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/cli.py +0 -0
  55. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/__init__.py +0 -0
  56. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/__init__.py +0 -0
  57. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/__init__.py +0 -0
  58. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_app_organizations_list.py +0 -0
  59. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_app_organizations_providers_list.py +0 -0
  60. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_appusers_me_retrieve.py +0 -0
  61. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_add_create.py +0 -0
  62. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_audio_retrieve.py +0 -0
  63. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_hangup_retrieve.py +0 -0
  64. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_list.py +0 -0
  65. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_messages_create.py +0 -0
  66. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_report_retrieve.py +0 -0
  67. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_retrieve.py +0 -0
  68. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_tags_create.py +0 -0
  69. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_token_create.py +0 -0
  70. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_transfer_create.py +0 -0
  71. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_tts_create.py +0 -0
  72. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_calls_usage_retrieve.py +0 -0
  73. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_campaign_list.py +0 -0
  74. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_campaign_upload_create.py +0 -0
  75. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_customer_consumables_retrieve.py +0 -0
  76. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_devices_attest_create.py +0 -0
  77. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_devices_list.py +0 -0
  78. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_integrations_create.py +0 -0
  79. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_ivr_create.py +0 -0
  80. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_ivr_list.py +0 -0
  81. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_ivr_options_create.py +0 -0
  82. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_ivr_options_list.py +0 -0
  83. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_ivr_options_partial_update.py +0 -0
  84. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_kyc_list.py +0 -0
  85. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_messages_list.py +0 -0
  86. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_phonenumbers_list.py +0 -0
  87. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v1/v1_phonenumbers_search_retrieve.py +0 -0
  88. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v2/__init__.py +0 -0
  89. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v2/v2_app_organizations_employees_list.py +0 -0
  90. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v2/v2_app_organizations_groups_list.py +0 -0
  91. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v3/__init__.py +0 -0
  92. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/api/v3/v3_orders_subscriptions_list.py +0 -0
  93. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/client.py +0 -0
  94. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/errors.py +0 -0
  95. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/address_provider.py +0 -0
  96. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/address_provider_status_enum.py +0 -0
  97. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/analytic.py +0 -0
  98. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/app_price.py +0 -0
  99. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/app_user.py +0 -0
  100. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/available_phone_number.py +0 -0
  101. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/available_phone_number_capabilities.py +0 -0
  102. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/available_phone_number_provider_enum.py +0 -0
  103. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_add_request_request.py +0 -0
  104. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_audio_reason.py +0 -0
  105. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_cost.py +0 -0
  106. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_location_epoch.py +0 -0
  107. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_message_request_request.py +0 -0
  108. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_message_request_type_enum.py +0 -0
  109. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_metadata.py +0 -0
  110. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_report.py +0 -0
  111. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_report_reason.py +0 -0
  112. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_report_status_enum.py +0 -0
  113. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_tag_request.py +0 -0
  114. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_tag_response.py +0 -0
  115. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_token_request.py +0 -0
  116. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_token_response.py +0 -0
  117. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_transfer_request_request.py +0 -0
  118. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_tts_request_request.py +0 -0
  119. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_type_enum.py +0 -0
  120. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_usage_by_currency_response.py +0 -0
  121. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_usage_response.py +0 -0
  122. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/call_usage_stats_response.py +0 -0
  123. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign.py +0 -0
  124. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_metadata.py +0 -0
  125. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_metadata_metadata.py +0 -0
  126. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_response.py +0 -0
  127. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_response_status_enum.py +0 -0
  128. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_stats.py +0 -0
  129. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_tag.py +0 -0
  130. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_upload_request.py +0 -0
  131. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_upload_request_options.py +0 -0
  132. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_upload_type_enum.py +0 -0
  133. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/campaign_window_request.py +0 -0
  134. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/can_user_resubscribe_plan.py +0 -0
  135. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/canceled_by_enum.py +0 -0
  136. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/capabilities.py +0 -0
  137. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/connection.py +0 -0
  138. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/content_type_enum.py +0 -0
  139. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/country.py +0 -0
  140. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/cta.py +0 -0
  141. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/cta_request.py +0 -0
  142. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/cta_type_enum.py +0 -0
  143. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/currency_enum.py +0 -0
  144. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/customer_consumable_total.py +0 -0
  145. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/customer_order_subscriptions_serializer_v2.py +0 -0
  146. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/customer_order_subscriptions_serializer_v2_status_enum.py +0 -0
  147. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/customer_provider_serializer_v2.py +0 -0
  148. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/device.py +0 -0
  149. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/device_attestation_error.py +0 -0
  150. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/device_attestation_error_reason_enum.py +0 -0
  151. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/device_attestation_response.py +0 -0
  152. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/dh_message.py +0 -0
  153. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/dh_message_attachment.py +0 -0
  154. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/dh_message_reaction.py +0 -0
  155. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/dh_message_type_enum.py +0 -0
  156. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/direction_enum.py +0 -0
  157. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/emoji.py +0 -0
  158. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/emoji_reaction.py +0 -0
  159. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/exotel_auth_request_request.py +0 -0
  160. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/id_enum.py +0 -0
  161. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/integrations_error_response.py +0 -0
  162. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/integrations_request_request.py +0 -0
  163. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/integrations_response.py +0 -0
  164. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/intent_enum.py +0 -0
  165. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/invalid_provider_request.py +0 -0
  166. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/iso_country_enum.py +0 -0
  167. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/item.py +0 -0
  168. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_collection.py +0 -0
  169. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_collection_request.py +0 -0
  170. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_menu_request.py +0 -0
  171. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_menu_request_settings.py +0 -0
  172. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_menu_response.py +0 -0
  173. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_menu_response_settings.py +0 -0
  174. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_menu_response_status_enum.py +0 -0
  175. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_options_invalid_response.py +0 -0
  176. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_options_request.py +0 -0
  177. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/ivr_options_response.py +0 -0
  178. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/kyc.py +0 -0
  179. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/kyc_status_enum.py +0 -0
  180. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/kyc_upload_metadata.py +0 -0
  181. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/location.py +0 -0
  182. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/next_or_cta_request.py +0 -0
  183. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/order_status_enum.py +0 -0
  184. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization.py +0 -0
  185. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_employee.py +0 -0
  186. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_employee_preferences.py +0 -0
  187. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_employee_status_enum.py +0 -0
  188. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_group_inline.py +0 -0
  189. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_preferences.py +0 -0
  190. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/organization_provider.py +0 -0
  191. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_call_list.py +0 -0
  192. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_campaign_response_list.py +0 -0
  193. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_customer_order_subscriptions_serializer_v2_list.py +0 -0
  194. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_device_list.py +0 -0
  195. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_dh_message_list.py +0 -0
  196. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_ivr_menu_response_list.py +0 -0
  197. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_ivr_options_response_list.py +0 -0
  198. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_kyc_list.py +0 -0
  199. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_organization_employee_list.py +0 -0
  200. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_organization_group_response_list.py +0 -0
  201. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_organization_list.py +0 -0
  202. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_organization_provider_list.py +0 -0
  203. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/paginated_phone_number_list.py +0 -0
  204. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/patched_ivr_options_update_request.py +0 -0
  205. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/payment_gateway_fees_info.py +0 -0
  206. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/period_enum.py +0 -0
  207. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number_attributes.py +0 -0
  208. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number_capabilities.py +0 -0
  209. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number_provider_enum.py +0 -0
  210. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number_search_response.py +0 -0
  211. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/phone_number_status_enum.py +0 -0
  212. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan.py +0 -0
  213. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_cancel_info.py +0 -0
  214. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_expiry_timestamp.py +0 -0
  215. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_expiry_timestamp_type_enum.py +0 -0
  216. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_extra_details.py +0 -0
  217. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_item.py +0 -0
  218. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_type.py +0 -0
  219. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/plan_type_cycle.py +0 -0
  220. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/product_group.py +0 -0
  221. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/proof.py +0 -0
  222. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/proof_status_enum.py +0 -0
  223. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/provider_status_enum.py +0 -0
  224. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/reaction_by.py +0 -0
  225. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/rental_currency_enum.py +0 -0
  226. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/resource_enum.py +0 -0
  227. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/shopify_auth_request_request.py +0 -0
  228. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/stripe_auth_request_request.py +0 -0
  229. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/upload_metadata.py +0 -0
  230. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_agent.py +0 -0
  231. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_agent_browser.py +0 -0
  232. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_agent_device.py +0 -0
  233. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_agent_operating_system.py +0 -0
  234. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_agent_platform.py +0 -0
  235. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/user_identity.py +0 -0
  236. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_app_organizations_list_status_item.py +0 -0
  237. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_calls_list_direction.py +0 -0
  238. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_calls_report_retrieve_date_range.py +0 -0
  239. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_calls_report_retrieve_fields_item.py +0 -0
  240. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_campaign_list_status_item.py +0 -0
  241. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_customer_consumables_retrieve_currency.py +0 -0
  242. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_ivr_list_duration.py +0 -0
  243. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_kyc_list_iso_country.py +0 -0
  244. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_kyc_list_provider_status_item.py +0 -0
  245. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_kyc_list_resource.py +0 -0
  246. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_kyc_list_status.py +0 -0
  247. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_messages_list_types_item.py +0 -0
  248. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_list_additional_status_item.py +0 -0
  249. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_list_provider.py +0 -0
  250. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_list_status.py +0 -0
  251. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_intent.py +0 -0
  252. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_iso_country_code.py +0 -0
  253. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_resource.py +0 -0
  254. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v2_app_organizations_employees_list_status_item.py +0 -0
  255. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v3_orders_subscriptions_list_currency.py +0 -0
  256. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/v3_orders_subscriptions_list_status_item.py +0 -0
  257. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/models/why_enum.py +0 -0
  258. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/client/types.py +0 -0
  259. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/py.typed +0 -0
  260. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/__init__.py +0 -0
  261. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/_constants.py +0 -0
  262. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/accounts.py +0 -0
  263. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/devices.py +0 -0
  264. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/ivrs.py +0 -0
  265. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/kycs.py +0 -0
  266. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/members.py +0 -0
  267. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/messages.py +0 -0
  268. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/notifications.py +0 -0
  269. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/orgs.py +0 -0
  270. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/payments.py +0 -0
  271. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/silence.py +0 -0
  272. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl/api/resources/teams.py +0 -0
  273. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/dependency_links.txt +0 -0
  274. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/entry_points.txt +0 -0
  275. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/not-zip-safe +0 -0
  276. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/requires.txt +0 -0
  277. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/jaxl_python.egg-info/top_level.txt +0 -0
  278. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/mkdocs.yml +0 -0
  279. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/pyproject.toml +0 -0
  280. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/setup.cfg +0 -0
  281. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/setup.gif +0 -0
  282. {jaxl_python-0.0.45 → jaxl_python-0.0.47}/tests/test_streaming_vad.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jaxl-python
3
- Version: 0.0.45
3
+ Version: 0.0.47
4
4
  Summary: Official Python SDK and CLI for interfacing with the Jaxl API. Manage calls, messages, IVRs, devices, teams, payments, campaigns, streaming transcriptions and AI Agents. Built on OpenAPI, it offers both generated API clients and Pythonic wrappers for ease of use.
5
5
  Home-page: https://github.com/jaxl-innovations-private-limited/jaxl-python
6
6
  Download-URL: https://github.com/jaxl-innovations-private-limited/jaxl-python/archive/main.zip
@@ -331,6 +331,14 @@ class BaseJaxlApp:
331
331
  """Clear any buffered audio."""
332
332
  return False
333
333
 
334
+ async def send_mark(self, call_id: int, mark: str) -> bool:
335
+ """Send a mark packet."""
336
+ return False
337
+
338
+ async def handle_stream_mark(self, call_id: int, mark: str) -> None:
339
+ """Invoked when upstream sends back mark response."""
340
+ return None
341
+
334
342
  async def hangup(self, call_id: int) -> Optional[Response[Any]]:
335
343
  """Hangup call by ID"""
336
344
  return None
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.0.45'
21
- __version_tuple__ = version_tuple = (0, 0, 45)
20
+ __version__ = version = '0.0.47'
21
+ __version_tuple__ = version_tuple = (0, 0, 47)
@@ -0,0 +1,215 @@
1
+ """
2
+ Copyright (c) 2010-present by Jaxl Innovations Private Limited.
3
+
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms,
7
+ with or without modification, is strictly prohibited.
8
+ """
9
+
10
+ from http import HTTPStatus
11
+ from typing import Any, Dict, Optional, Union, cast
12
+
13
+ import httpx
14
+
15
+ from ... import errors
16
+ from ...client import AuthenticatedClient, Client
17
+ from ...models.v1_calls_metadata_create_json_body import V1CallsMetadataCreateJsonBody
18
+ from ...models.v1_calls_metadata_create_response_200 import (
19
+ V1CallsMetadataCreateResponse200,
20
+ )
21
+ from ...types import Response
22
+
23
+
24
+ def _get_kwargs(
25
+ call_id: str,
26
+ *,
27
+ client: AuthenticatedClient,
28
+ json_body: V1CallsMetadataCreateJsonBody,
29
+ ) -> Dict[str, Any]:
30
+ url = "{}/v1/calls/{call_id}/metadata/".format(client.base_url, call_id=call_id)
31
+
32
+ headers: Dict[str, str] = client.get_headers()
33
+ cookies: Dict[str, Any] = client.get_cookies()
34
+
35
+ json_json_body = json_body.to_dict()
36
+
37
+ return {
38
+ "method": "post",
39
+ "url": url,
40
+ "headers": headers,
41
+ "cookies": cookies,
42
+ "timeout": client.get_timeout(),
43
+ "json": json_json_body,
44
+ }
45
+
46
+
47
+ def _parse_response(
48
+ *, client: Client, response: httpx.Response
49
+ ) -> Optional[Union[Any, V1CallsMetadataCreateResponse200]]:
50
+ if response.status_code == HTTPStatus.OK:
51
+ response_200 = V1CallsMetadataCreateResponse200.from_dict(response.json())
52
+
53
+ return response_200
54
+ if response.status_code == HTTPStatus.BAD_REQUEST:
55
+ response_400 = cast(Any, None)
56
+ return response_400
57
+ if response.status_code == HTTPStatus.FORBIDDEN:
58
+ response_403 = cast(Any, None)
59
+ return response_403
60
+ if response.status_code == HTTPStatus.NOT_FOUND:
61
+ response_404 = cast(Any, None)
62
+ return response_404
63
+ if client.raise_on_unexpected_status:
64
+ raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}")
65
+ else:
66
+ return None
67
+
68
+
69
+ def _build_response(
70
+ *, client: Client, response: httpx.Response
71
+ ) -> Response[Union[Any, V1CallsMetadataCreateResponse200]]:
72
+ return Response(
73
+ status_code=HTTPStatus(response.status_code),
74
+ content=response.content,
75
+ headers=response.headers,
76
+ parsed=_parse_response(client=client, response=response),
77
+ )
78
+
79
+
80
+ def sync_detailed(
81
+ call_id: str,
82
+ *,
83
+ client: AuthenticatedClient,
84
+ json_body: V1CallsMetadataCreateJsonBody,
85
+ ) -> Response[Union[Any, V1CallsMetadataCreateResponse200]]:
86
+ """MERGE the request body into the call's metadata.
87
+
88
+ POST-as-merge (not PATCH) keeps the router mount identical to
89
+ the sibling `calls/<id>/tags/` collection. Idempotent: re-posting
90
+ the same payload is a no-op-equivalent overwrite.
91
+
92
+ Args:
93
+ call_id (str):
94
+ json_body (V1CallsMetadataCreateJsonBody):
95
+
96
+ Raises:
97
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
98
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
99
+
100
+ Returns:
101
+ Response[Union[Any, V1CallsMetadataCreateResponse200]]
102
+ """
103
+
104
+ kwargs = _get_kwargs(
105
+ call_id=call_id,
106
+ client=client,
107
+ json_body=json_body,
108
+ )
109
+
110
+ response = httpx.request(
111
+ verify=client.verify_ssl,
112
+ **kwargs,
113
+ )
114
+
115
+ return _build_response(client=client, response=response)
116
+
117
+
118
+ def sync(
119
+ call_id: str,
120
+ *,
121
+ client: AuthenticatedClient,
122
+ json_body: V1CallsMetadataCreateJsonBody,
123
+ ) -> Optional[Union[Any, V1CallsMetadataCreateResponse200]]:
124
+ """MERGE the request body into the call's metadata.
125
+
126
+ POST-as-merge (not PATCH) keeps the router mount identical to
127
+ the sibling `calls/<id>/tags/` collection. Idempotent: re-posting
128
+ the same payload is a no-op-equivalent overwrite.
129
+
130
+ Args:
131
+ call_id (str):
132
+ json_body (V1CallsMetadataCreateJsonBody):
133
+
134
+ Raises:
135
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
136
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
137
+
138
+ Returns:
139
+ Response[Union[Any, V1CallsMetadataCreateResponse200]]
140
+ """
141
+
142
+ return sync_detailed(
143
+ call_id=call_id,
144
+ client=client,
145
+ json_body=json_body,
146
+ ).parsed
147
+
148
+
149
+ async def asyncio_detailed(
150
+ call_id: str,
151
+ *,
152
+ client: AuthenticatedClient,
153
+ json_body: V1CallsMetadataCreateJsonBody,
154
+ ) -> Response[Union[Any, V1CallsMetadataCreateResponse200]]:
155
+ """MERGE the request body into the call's metadata.
156
+
157
+ POST-as-merge (not PATCH) keeps the router mount identical to
158
+ the sibling `calls/<id>/tags/` collection. Idempotent: re-posting
159
+ the same payload is a no-op-equivalent overwrite.
160
+
161
+ Args:
162
+ call_id (str):
163
+ json_body (V1CallsMetadataCreateJsonBody):
164
+
165
+ Raises:
166
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
167
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
168
+
169
+ Returns:
170
+ Response[Union[Any, V1CallsMetadataCreateResponse200]]
171
+ """
172
+
173
+ kwargs = _get_kwargs(
174
+ call_id=call_id,
175
+ client=client,
176
+ json_body=json_body,
177
+ )
178
+
179
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
180
+ response = await _client.request(**kwargs)
181
+
182
+ return _build_response(client=client, response=response)
183
+
184
+
185
+ async def asyncio(
186
+ call_id: str,
187
+ *,
188
+ client: AuthenticatedClient,
189
+ json_body: V1CallsMetadataCreateJsonBody,
190
+ ) -> Optional[Union[Any, V1CallsMetadataCreateResponse200]]:
191
+ """MERGE the request body into the call's metadata.
192
+
193
+ POST-as-merge (not PATCH) keeps the router mount identical to
194
+ the sibling `calls/<id>/tags/` collection. Idempotent: re-posting
195
+ the same payload is a no-op-equivalent overwrite.
196
+
197
+ Args:
198
+ call_id (str):
199
+ json_body (V1CallsMetadataCreateJsonBody):
200
+
201
+ Raises:
202
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
203
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
204
+
205
+ Returns:
206
+ Response[Union[Any, V1CallsMetadataCreateResponse200]]
207
+ """
208
+
209
+ return (
210
+ await asyncio_detailed(
211
+ call_id=call_id,
212
+ client=client,
213
+ json_body=json_body,
214
+ )
215
+ ).parsed
@@ -14,7 +14,9 @@ import httpx
14
14
 
15
15
  from ... import errors
16
16
  from ...client import AuthenticatedClient, Client
17
- from ...models.patched_phone_number_request import PatchedPhoneNumberRequest
17
+ from ...models.patched_phone_number_update_request import (
18
+ PatchedPhoneNumberUpdateRequest,
19
+ )
18
20
  from ...models.phone_number import PhoneNumber
19
21
  from ...types import Response
20
22
 
@@ -23,7 +25,7 @@ def _get_kwargs(
23
25
  id: int,
24
26
  *,
25
27
  client: AuthenticatedClient,
26
- json_body: PatchedPhoneNumberRequest,
28
+ json_body: PatchedPhoneNumberUpdateRequest,
27
29
  ) -> Dict[str, Any]:
28
30
  url = "{}/v1/phonenumbers/{id}/".format(client.base_url, id=id)
29
31
 
@@ -70,14 +72,18 @@ def sync_detailed(
70
72
  id: int,
71
73
  *,
72
74
  client: AuthenticatedClient,
73
- json_body: PatchedPhoneNumberRequest,
75
+ json_body: PatchedPhoneNumberUpdateRequest,
74
76
  ) -> Response[PhoneNumber]:
75
77
  """API view set for PhoneNumber model.
76
78
 
77
79
  Args:
78
80
  id (int):
79
- json_body (PatchedPhoneNumberRequest): Adds a 'jaxlid' field which contains signed ID
80
- information.
81
+ json_body (PatchedPhoneNumberUpdateRequest): OpenAPI request body for PATCH
82
+ /v1/phonenumbers/{id}/.
83
+
84
+ The view handles these keys itself (`ringing_strategy` is not a model
85
+ field — it lives in OrganizationSetting), so this serializer keeps the
86
+ generated client contract honest; it does not drive validation.
81
87
 
82
88
  Raises:
83
89
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -105,14 +111,18 @@ def sync(
105
111
  id: int,
106
112
  *,
107
113
  client: AuthenticatedClient,
108
- json_body: PatchedPhoneNumberRequest,
114
+ json_body: PatchedPhoneNumberUpdateRequest,
109
115
  ) -> Optional[PhoneNumber]:
110
116
  """API view set for PhoneNumber model.
111
117
 
112
118
  Args:
113
119
  id (int):
114
- json_body (PatchedPhoneNumberRequest): Adds a 'jaxlid' field which contains signed ID
115
- information.
120
+ json_body (PatchedPhoneNumberUpdateRequest): OpenAPI request body for PATCH
121
+ /v1/phonenumbers/{id}/.
122
+
123
+ The view handles these keys itself (`ringing_strategy` is not a model
124
+ field — it lives in OrganizationSetting), so this serializer keeps the
125
+ generated client contract honest; it does not drive validation.
116
126
 
117
127
  Raises:
118
128
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -133,14 +143,18 @@ async def asyncio_detailed(
133
143
  id: int,
134
144
  *,
135
145
  client: AuthenticatedClient,
136
- json_body: PatchedPhoneNumberRequest,
146
+ json_body: PatchedPhoneNumberUpdateRequest,
137
147
  ) -> Response[PhoneNumber]:
138
148
  """API view set for PhoneNumber model.
139
149
 
140
150
  Args:
141
151
  id (int):
142
- json_body (PatchedPhoneNumberRequest): Adds a 'jaxlid' field which contains signed ID
143
- information.
152
+ json_body (PatchedPhoneNumberUpdateRequest): OpenAPI request body for PATCH
153
+ /v1/phonenumbers/{id}/.
154
+
155
+ The view handles these keys itself (`ringing_strategy` is not a model
156
+ field — it lives in OrganizationSetting), so this serializer keeps the
157
+ generated client contract honest; it does not drive validation.
144
158
 
145
159
  Raises:
146
160
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -166,14 +180,18 @@ async def asyncio(
166
180
  id: int,
167
181
  *,
168
182
  client: AuthenticatedClient,
169
- json_body: PatchedPhoneNumberRequest,
183
+ json_body: PatchedPhoneNumberUpdateRequest,
170
184
  ) -> Optional[PhoneNumber]:
171
185
  """API view set for PhoneNumber model.
172
186
 
173
187
  Args:
174
188
  id (int):
175
- json_body (PatchedPhoneNumberRequest): Adds a 'jaxlid' field which contains signed ID
176
- information.
189
+ json_body (PatchedPhoneNumberUpdateRequest): OpenAPI request body for PATCH
190
+ /v1/phonenumbers/{id}/.
191
+
192
+ The view handles these keys itself (`ringing_strategy` is not a model
193
+ field — it lives in OrganizationSetting), so this serializer keeps the
194
+ generated client contract honest; it does not drive validation.
177
195
 
178
196
  Raises:
179
197
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -79,6 +79,7 @@ from .direction_enum import DirectionEnum
79
79
  from .emoji import Emoji
80
80
  from .emoji_reaction import EmojiReaction
81
81
  from .exotel_auth_request_request import ExotelAuthRequestRequest
82
+ from .failure_reason_enum import FailureReasonEnum
82
83
  from .id_enum import IdEnum
83
84
  from .integrations_error_response import IntegrationsErrorResponse
84
85
  from .integrations_properties_request import IntegrationsPropertiesRequest
@@ -104,6 +105,7 @@ from .kyc_status_enum import KycStatusEnum
104
105
  from .kyc_upload_metadata import KycUploadMetadata
105
106
  from .location import Location
106
107
  from .next_or_cta_request import NextOrCTARequest
108
+ from .nimbus_post_auth_request_request import NimbusPostAuthRequestRequest
107
109
  from .order_status_enum import OrderStatusEnum
108
110
  from .organization import Organization
109
111
  from .organization_employee import OrganizationEmployee
@@ -131,12 +133,16 @@ from .paginated_organization_list import PaginatedOrganizationList
131
133
  from .paginated_organization_provider_list import PaginatedOrganizationProviderList
132
134
  from .paginated_phone_number_list import PaginatedPhoneNumberList
133
135
  from .patched_ivr_options_update_request import PatchedIVROptionsUpdateRequest
134
- from .patched_phone_number_request import PatchedPhoneNumberRequest
136
+ from .patched_phone_number_update_request import PatchedPhoneNumberUpdateRequest
137
+ from .patched_phone_number_update_request_frontdesk import (
138
+ PatchedPhoneNumberUpdateRequestFrontdesk,
139
+ )
135
140
  from .payment_gateway_fees_info import PaymentGatewayFeesInfo
136
141
  from .period_enum import PeriodEnum
137
142
  from .phone_number import PhoneNumber
138
143
  from .phone_number_attributes import PhoneNumberAttributes
139
144
  from .phone_number_capabilities import PhoneNumberCapabilities
145
+ from .phone_number_frontdesk import PhoneNumberFrontdesk
140
146
  from .phone_number_provider_enum import PhoneNumberProviderEnum
141
147
  from .phone_number_search_response import PhoneNumberSearchResponse
142
148
  from .phone_number_status_enum import PhoneNumberStatusEnum
@@ -156,6 +162,8 @@ from .provider_status_enum import ProviderStatusEnum
156
162
  from .reaction_by import ReactionBy
157
163
  from .rental_currency_enum import RentalCurrencyEnum
158
164
  from .resource_enum import ResourceEnum
165
+ from .ringing_strategy_enum import RingingStrategyEnum
166
+ from .sales_max_auth_request_request import SalesMaxAuthRequestRequest
159
167
  from .shopify_auth_request_request import ShopifyAuthRequestRequest
160
168
  from .stripe_auth_request_request import StripeAuthRequestRequest
161
169
  from .upload_metadata import UploadMetadata
@@ -167,6 +175,8 @@ from .user_agent_platform import UserAgentPlatform
167
175
  from .user_identity import UserIdentity
168
176
  from .v1_app_organizations_list_status_item import V1AppOrganizationsListStatusItem
169
177
  from .v1_calls_list_direction import V1CallsListDirection
178
+ from .v1_calls_metadata_create_json_body import V1CallsMetadataCreateJsonBody
179
+ from .v1_calls_metadata_create_response_200 import V1CallsMetadataCreateResponse200
170
180
  from .v1_calls_report_retrieve_date_range import V1CallsReportRetrieveDateRange
171
181
  from .v1_calls_report_retrieve_fields_item import V1CallsReportRetrieveFieldsItem
172
182
  from .v1_campaign_list_status_item import V1CampaignListStatusItem
@@ -267,6 +277,7 @@ __all__ = (
267
277
  "Emoji",
268
278
  "EmojiReaction",
269
279
  "ExotelAuthRequestRequest",
280
+ "FailureReasonEnum",
270
281
  "IdEnum",
271
282
  "IntegrationsErrorResponse",
272
283
  "IntegrationsPropertiesRequest",
@@ -292,6 +303,7 @@ __all__ = (
292
303
  "KycUploadMetadata",
293
304
  "Location",
294
305
  "NextOrCTARequest",
306
+ "NimbusPostAuthRequestRequest",
295
307
  "OrderStatusEnum",
296
308
  "Organization",
297
309
  "OrganizationEmployee",
@@ -315,12 +327,14 @@ __all__ = (
315
327
  "PaginatedOrganizationProviderList",
316
328
  "PaginatedPhoneNumberList",
317
329
  "PatchedIVROptionsUpdateRequest",
318
- "PatchedPhoneNumberRequest",
330
+ "PatchedPhoneNumberUpdateRequest",
331
+ "PatchedPhoneNumberUpdateRequestFrontdesk",
319
332
  "PaymentGatewayFeesInfo",
320
333
  "PeriodEnum",
321
334
  "PhoneNumber",
322
335
  "PhoneNumberAttributes",
323
336
  "PhoneNumberCapabilities",
337
+ "PhoneNumberFrontdesk",
324
338
  "PhoneNumberProviderEnum",
325
339
  "PhoneNumberSearchResponse",
326
340
  "PhoneNumberStatusEnum",
@@ -340,6 +354,8 @@ __all__ = (
340
354
  "ReactionBy",
341
355
  "RentalCurrencyEnum",
342
356
  "ResourceEnum",
357
+ "RingingStrategyEnum",
358
+ "SalesMaxAuthRequestRequest",
343
359
  "ShopifyAuthRequestRequest",
344
360
  "StripeAuthRequestRequest",
345
361
  "UploadMetadata",
@@ -351,6 +367,8 @@ __all__ = (
351
367
  "UserIdentity",
352
368
  "V1AppOrganizationsListStatusItem",
353
369
  "V1CallsListDirection",
370
+ "V1CallsMetadataCreateJsonBody",
371
+ "V1CallsMetadataCreateResponse200",
354
372
  "V1CallsReportRetrieveDateRange",
355
373
  "V1CallsReportRetrieveFieldsItem",
356
374
  "V1CampaignListStatusItem",
@@ -8,13 +8,14 @@ with or without modification, is strictly prohibited.
8
8
  """
9
9
 
10
10
  import datetime
11
- from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, TypeVar, Union
11
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, TypeVar, Union, cast
12
12
 
13
13
  import attr
14
14
  from dateutil.parser import isoparse
15
15
 
16
16
  from ..models.call_type_enum import CallTypeEnum
17
17
  from ..models.direction_enum import DirectionEnum
18
+ from ..models.failure_reason_enum import FailureReasonEnum
18
19
  from ..types import UNSET, Unset
19
20
 
20
21
  if TYPE_CHECKING:
@@ -74,6 +75,7 @@ class Call:
74
75
  is_bot (Optional[bool]):
75
76
  camp (Optional[CampaignMetadata]):
76
77
  upload_metadata (Optional[UploadMetadata]):
78
+ failure_reason (Union[FailureReasonEnum, None, Unset]): Reason for call failure
77
79
  """
78
80
 
79
81
  id: int
@@ -113,6 +115,7 @@ class Call:
113
115
  recording_start_time: Union[Unset, None, datetime.datetime] = UNSET
114
116
  device_id: Union[Unset, None, int] = UNSET
115
117
  ivr: Union[Unset, None, int] = UNSET
118
+ failure_reason: Union[FailureReasonEnum, None, Unset] = UNSET
116
119
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
117
120
 
118
121
  def to_dict(self) -> Dict[str, Any]:
@@ -199,6 +202,20 @@ class Call:
199
202
  self.upload_metadata.to_dict() if self.upload_metadata else None
200
203
  )
201
204
 
205
+ failure_reason: Union[None, Unset, str]
206
+ if isinstance(self.failure_reason, Unset):
207
+ failure_reason = UNSET
208
+ elif self.failure_reason is None:
209
+ failure_reason = None
210
+
211
+ elif isinstance(self.failure_reason, FailureReasonEnum):
212
+ failure_reason = UNSET
213
+ if not isinstance(self.failure_reason, Unset):
214
+ failure_reason = self.failure_reason.value
215
+
216
+ else:
217
+ failure_reason = self.failure_reason
218
+
202
219
  field_dict: Dict[str, Any] = {}
203
220
  field_dict.update(self.additional_properties)
204
221
  field_dict.update(
@@ -251,6 +268,8 @@ class Call:
251
268
  field_dict["device_id"] = device_id
252
269
  if ivr is not UNSET:
253
270
  field_dict["ivr"] = ivr
271
+ if failure_reason is not UNSET:
272
+ field_dict["failure_reason"] = failure_reason
254
273
 
255
274
  return field_dict
256
275
 
@@ -394,6 +413,30 @@ class Call:
394
413
  else:
395
414
  upload_metadata = UploadMetadata.from_dict(_upload_metadata)
396
415
 
416
+ def _parse_failure_reason(
417
+ data: object,
418
+ ) -> Union[FailureReasonEnum, None, Unset]:
419
+ if data is None:
420
+ return data
421
+ if isinstance(data, Unset):
422
+ return data
423
+ try:
424
+ if not isinstance(data, str):
425
+ raise TypeError()
426
+ _failure_reason_type_0 = data
427
+ failure_reason_type_0: Union[Unset, FailureReasonEnum]
428
+ if isinstance(_failure_reason_type_0, Unset):
429
+ failure_reason_type_0 = UNSET
430
+ else:
431
+ failure_reason_type_0 = FailureReasonEnum(_failure_reason_type_0)
432
+
433
+ return failure_reason_type_0
434
+ except: # noqa: E722
435
+ pass
436
+ return cast(Union[FailureReasonEnum, None, Unset], data)
437
+
438
+ failure_reason = _parse_failure_reason(d.pop("failure_reason", UNSET))
439
+
397
440
  call = cls(
398
441
  id=id,
399
442
  direction=direction,
@@ -432,6 +475,7 @@ class Call:
432
475
  is_bot=is_bot,
433
476
  camp=camp,
434
477
  upload_metadata=upload_metadata,
478
+ failure_reason=failure_reason,
435
479
  )
436
480
 
437
481
  call.additional_properties = d
@@ -0,0 +1,33 @@
1
+ """
2
+ Copyright (c) 2010-present by Jaxl Innovations Private Limited.
3
+
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms,
7
+ with or without modification, is strictly prohibited.
8
+ """
9
+
10
+ from enum import Enum
11
+
12
+
13
+ class FailureReasonEnum(str, Enum):
14
+ CAMPAIGN_STOPPED = "CAMPAIGN_STOPPED"
15
+ DID_YOU_FORGET_THE_PLUS_SIGN = "DID_YOU_FORGET_THE_PLUS_SIGN"
16
+ DND = "DND"
17
+ EXTERNALLY_CONVERTED = "EXTERNALLY_CONVERTED"
18
+ INVALID_FROM_NUMBER = "INVALID_FROM_NUMBER"
19
+ INVALID_IVR_ID = "INVALID_IVR_ID"
20
+ INVALID_TO_NUMBER = "INVALID_TO_NUMBER"
21
+ LOCAL_REGULATION_ISSUE = "LOCAL_REGULATION_ISSUE"
22
+ NOT_FOUND_IN_DB = "NOT_FOUND_IN_DB"
23
+ OOB = "OOB"
24
+ OOS = "OOS"
25
+ PAYMENT_ISSUE = "PAYMENT_ISSUE"
26
+ PROVIDER_SERVICE_ERROR = "PROVIDER_SERVICE_ERROR"
27
+ PROVIDER_SERVICE_UNAVAILABLE = "PROVIDER_SERVICE_UNAVAILABLE"
28
+ UNASSIGNED = "UNASSIGNED"
29
+ UNFINISHED_CLEANUP = "UNFINISHED_CLEANUP"
30
+ VVR = "VVR"
31
+
32
+ def __str__(self) -> str:
33
+ return str(self.value)
@@ -15,6 +15,8 @@ from ..types import UNSET, Unset
15
15
 
16
16
  if TYPE_CHECKING:
17
17
  from ..models.exotel_auth_request_request import ExotelAuthRequestRequest
18
+ from ..models.nimbus_post_auth_request_request import NimbusPostAuthRequestRequest
19
+ from ..models.sales_max_auth_request_request import SalesMaxAuthRequestRequest
18
20
  from ..models.shopify_auth_request_request import ShopifyAuthRequestRequest
19
21
  from ..models.stripe_auth_request_request import StripeAuthRequestRequest
20
22
 
@@ -30,12 +32,16 @@ class IntegrationsPropertiesRequest:
30
32
  exotel (Union[Unset, None, ExotelAuthRequestRequest]):
31
33
  stripe (Union[Unset, None, StripeAuthRequestRequest]):
32
34
  shiprocket (Union[Unset, None, ShopifyAuthRequestRequest]):
35
+ nimbuspost (Union[Unset, None, NimbusPostAuthRequestRequest]):
36
+ salesmax (Union[Unset, None, SalesMaxAuthRequestRequest]):
33
37
  """
34
38
 
35
39
  shopify: Union[Unset, None, "ShopifyAuthRequestRequest"] = UNSET
36
40
  exotel: Union[Unset, None, "ExotelAuthRequestRequest"] = UNSET
37
41
  stripe: Union[Unset, None, "StripeAuthRequestRequest"] = UNSET
38
42
  shiprocket: Union[Unset, None, "ShopifyAuthRequestRequest"] = UNSET
43
+ nimbuspost: Union[Unset, None, "NimbusPostAuthRequestRequest"] = UNSET
44
+ salesmax: Union[Unset, None, "SalesMaxAuthRequestRequest"] = UNSET
39
45
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
40
46
 
41
47
  def to_dict(self) -> Dict[str, Any]:
@@ -55,6 +61,14 @@ class IntegrationsPropertiesRequest:
55
61
  if not isinstance(self.shiprocket, Unset):
56
62
  shiprocket = self.shiprocket.to_dict() if self.shiprocket else None
57
63
 
64
+ nimbuspost: Union[Unset, None, Dict[str, Any]] = UNSET
65
+ if not isinstance(self.nimbuspost, Unset):
66
+ nimbuspost = self.nimbuspost.to_dict() if self.nimbuspost else None
67
+
68
+ salesmax: Union[Unset, None, Dict[str, Any]] = UNSET
69
+ if not isinstance(self.salesmax, Unset):
70
+ salesmax = self.salesmax.to_dict() if self.salesmax else None
71
+
58
72
  field_dict: Dict[str, Any] = {}
59
73
  field_dict.update(self.additional_properties)
60
74
  field_dict.update({})
@@ -66,12 +80,20 @@ class IntegrationsPropertiesRequest:
66
80
  field_dict["stripe"] = stripe
67
81
  if shiprocket is not UNSET:
68
82
  field_dict["shiprocket"] = shiprocket
83
+ if nimbuspost is not UNSET:
84
+ field_dict["nimbuspost"] = nimbuspost
85
+ if salesmax is not UNSET:
86
+ field_dict["salesmax"] = salesmax
69
87
 
70
88
  return field_dict
71
89
 
72
90
  @classmethod
73
91
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
74
92
  from ..models.exotel_auth_request_request import ExotelAuthRequestRequest
93
+ from ..models.nimbus_post_auth_request_request import (
94
+ NimbusPostAuthRequestRequest,
95
+ )
96
+ from ..models.sales_max_auth_request_request import SalesMaxAuthRequestRequest
75
97
  from ..models.shopify_auth_request_request import ShopifyAuthRequestRequest
76
98
  from ..models.stripe_auth_request_request import StripeAuthRequestRequest
77
99
 
@@ -112,11 +134,31 @@ class IntegrationsPropertiesRequest:
112
134
  else:
113
135
  shiprocket = ShopifyAuthRequestRequest.from_dict(_shiprocket)
114
136
 
137
+ _nimbuspost = d.pop("nimbuspost", UNSET)
138
+ nimbuspost: Union[Unset, None, NimbusPostAuthRequestRequest]
139
+ if _nimbuspost is None:
140
+ nimbuspost = None
141
+ elif isinstance(_nimbuspost, Unset):
142
+ nimbuspost = UNSET
143
+ else:
144
+ nimbuspost = NimbusPostAuthRequestRequest.from_dict(_nimbuspost)
145
+
146
+ _salesmax = d.pop("salesmax", UNSET)
147
+ salesmax: Union[Unset, None, SalesMaxAuthRequestRequest]
148
+ if _salesmax is None:
149
+ salesmax = None
150
+ elif isinstance(_salesmax, Unset):
151
+ salesmax = UNSET
152
+ else:
153
+ salesmax = SalesMaxAuthRequestRequest.from_dict(_salesmax)
154
+
115
155
  integrations_properties_request = cls(
116
156
  shopify=shopify,
117
157
  exotel=exotel,
118
158
  stripe=stripe,
119
159
  shiprocket=shiprocket,
160
+ nimbuspost=nimbuspost,
161
+ salesmax=salesmax,
120
162
  )
121
163
 
122
164
  integrations_properties_request.additional_properties = d