pingram 1.0.14 → 1.0.17

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 (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/addresses_api.rb +67 -6
  4. data/lib/pingram/api/default_api.rb +2 -2
  5. data/lib/pingram/api/domains_api.rb +69 -8
  6. data/lib/pingram/api/email_api.rb +2 -2
  7. data/lib/pingram/api/logs_api.rb +10 -10
  8. data/lib/pingram/api/numbers_api.rb +6 -6
  9. data/lib/pingram/api/organization_api.rb +15 -4
  10. data/lib/pingram/api/profile_api.rb +314 -0
  11. data/lib/pingram/api/sms_api.rb +2 -2
  12. data/lib/pingram/api/voice_api.rb +733 -0
  13. data/lib/pingram/api_client.rb +1 -1
  14. data/lib/pingram/client_wrapper.rb +10 -0
  15. data/lib/pingram/models/api_error_body.rb +4 -24
  16. data/lib/pingram/models/billing_post_request_body.rb +2 -12
  17. data/lib/pingram/models/billing_post_response_body.rb +92 -200
  18. data/lib/pingram/models/bind_number_request.rb +164 -0
  19. data/lib/pingram/models/bind_number_response.rb +164 -0
  20. data/lib/pingram/models/bind_number_response_agent.rb +342 -0
  21. data/lib/pingram/models/bind_number_response_agent_spec.rb +376 -0
  22. data/lib/pingram/models/bind_number_response_agent_spec_compliance.rb +164 -0
  23. data/lib/pingram/models/bind_number_response_agent_spec_conversation.rb +328 -0
  24. data/lib/pingram/models/bind_number_response_agent_spec_inbound.rb +214 -0
  25. data/lib/pingram/models/bind_number_response_agent_spec_model.rb +105 -0
  26. data/lib/pingram/models/bind_number_response_agent_spec_outbound.rb +251 -0
  27. data/lib/pingram/models/bind_number_response_agent_spec_tools_inner.rb +107 -0
  28. data/lib/pingram/models/bind_number_response_agent_spec_variables_inner.rb +182 -0
  29. data/lib/pingram/models/chained.rb +401 -0
  30. data/lib/pingram/models/channels_enum.rb +2 -1
  31. data/lib/pingram/models/create_organization_request.rb +150 -0
  32. data/lib/pingram/models/create_voice_agent_request.rb +164 -0
  33. data/lib/pingram/models/create_voice_agent_response.rb +164 -0
  34. data/lib/pingram/models/custom.rb +278 -0
  35. data/lib/pingram/models/delete_account_request.rb +147 -0
  36. data/lib/pingram/models/delete_voice_agent_response.rb +164 -0
  37. data/lib/pingram/models/domain_dns_check.rb +244 -0
  38. data/lib/pingram/models/domain_dns_check_records_inner.rb +357 -0
  39. data/lib/pingram/models/dtmf.rb +188 -0
  40. data/lib/pingram/models/get_members_response_inner.rb +37 -4
  41. data/lib/pingram/models/get_notifications_response_inner_options.rb +10 -1
  42. data/lib/pingram/models/get_senders_response_inner.rb +13 -4
  43. data/lib/pingram/models/get_senders_response_inner_verification_records.rb +184 -0
  44. data/lib/pingram/models/get_senders_response_inner_verification_records_dkim.rb +287 -0
  45. data/lib/pingram/models/get_voice_agent_response.rb +164 -0
  46. data/lib/pingram/models/get_voice_call_response.rb +164 -0
  47. data/lib/pingram/models/get_voice_call_response_call.rb +521 -0
  48. data/lib/pingram/models/get_voice_call_response_call_cost.rb +193 -0
  49. data/lib/pingram/models/get_voice_call_response_call_cost_lines_inner.rb +245 -0
  50. data/lib/pingram/models/get_voice_call_response_call_timeline_inner.rb +247 -0
  51. data/lib/pingram/models/get_voice_call_response_call_timeline_inner_latency.rb +191 -0
  52. data/lib/pingram/models/inbound_response_body_results_inner.rb +4 -4
  53. data/lib/pingram/models/knowledge.rb +216 -0
  54. data/lib/pingram/models/knowledge_documents_inner.rb +217 -0
  55. data/lib/pingram/models/list_phone_numbers_response_numbers_inner.rb +14 -4
  56. data/lib/pingram/models/list_voice_agents_response.rb +166 -0
  57. data/lib/pingram/models/list_voice_calls_response.rb +176 -0
  58. data/lib/pingram/models/list_voice_calls_response_calls_inner.rb +463 -0
  59. data/lib/pingram/models/logs_get_response_logs_inner.rb +4 -4
  60. data/lib/pingram/models/mcp.rb +223 -0
  61. data/lib/pingram/models/mfa_setup_request.rb +189 -0
  62. data/lib/pingram/models/mfa_setup_response.rb +216 -0
  63. data/lib/pingram/models/mfa_status_response.rb +235 -0
  64. data/lib/pingram/models/mfa_verify_request.rb +241 -0
  65. data/lib/pingram/models/organization.rb +22 -1
  66. data/lib/pingram/models/organization_usage.rb +13 -159
  67. data/lib/pingram/models/organization_usage_costs.rb +148 -0
  68. data/lib/pingram/models/organization_usage_counts.rb +347 -0
  69. data/lib/pingram/models/organization_usage_history_items_inner.rb +16 -154
  70. data/lib/pingram/models/organization_usage_history_items_inner_counts.rb +346 -0
  71. data/lib/pingram/models/phone_verify_confirm_request.rb +16 -4
  72. data/lib/pingram/models/s2s.rb +295 -0
  73. data/lib/pingram/models/send_email_api_response_any_of1_error.rb +4 -24
  74. data/lib/pingram/models/send_email_request.rb +1 -1
  75. data/lib/pingram/models/send_sms_response_any_of1_error.rb +4 -24
  76. data/lib/pingram/models/sender_post_body_options_email.rb +1 -1
  77. data/lib/pingram/models/{a2p_registration_create_request.rb → ten_dlc_brand_create_request.rb} +38 -28
  78. data/lib/pingram/models/{a2p_registration.rb → ten_dlc_brand_registration.rb} +54 -22
  79. data/lib/pingram/models/{a2p_registration_update_request.rb → ten_dlc_brand_update_request.rb} +38 -11
  80. data/lib/pingram/models/transfer.rb +251 -0
  81. data/lib/pingram/models/unbind_number_response.rb +164 -0
  82. data/lib/pingram/models/update_voice_agent_request.rb +164 -0
  83. data/lib/pingram/models/update_voice_agent_response.rb +164 -0
  84. data/lib/pingram/models/voice_browser_call_request.rb +186 -0
  85. data/lib/pingram/models/voice_browser_call_response.rb +216 -0
  86. data/lib/pingram/models/voice_call_request.rb +212 -0
  87. data/lib/pingram/models/voice_call_response.rb +217 -0
  88. data/lib/pingram/models/webhook_event.rb +2 -2
  89. data/lib/pingram/version.rb +1 -1
  90. data/lib/pingram.rb +56 -3
  91. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.12.0.gem +0 -0
  92. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  93. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  94. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  95. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  96. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  97. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  98. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  99. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  100. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  101. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  102. data/vendor/bundle/ruby/3.2.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  103. metadata +140 -87
  104. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.11.1.gem +0 -0
  105. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  106. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  107. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  108. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  109. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  110. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  111. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  112. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  113. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  114. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  115. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  116. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  117. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  118. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  119. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  120. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  121. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  122. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  123. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  124. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  125. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  126. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  127. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  128. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  129. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  130. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  131. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  132. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  133. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  134. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  135. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  136. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  137. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  138. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  139. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  140. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  141. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  142. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  143. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  144. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  145. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  146. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  147. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  148. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  149. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  150. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  151. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  152. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  153. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  154. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  155. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  156. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  157. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  158. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  159. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  160. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  161. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  162. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  163. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  164. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  165. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  166. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  167. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  168. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  169. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  170. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  171. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  172. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  173. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  174. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  175. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  176. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  177. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  178. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  179. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  180. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  181. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  182. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/parser.gemspec +0 -0
@@ -0,0 +1,733 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Pingram
16
+ class VoiceApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Bind a phone number to a deployed agent for inbound routing
23
+ # @param agent_id [String] Agent id
24
+ # @param bind_number_request [BindNumberRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [BindNumberResponse]
27
+ def voice_bind_number(agent_id, bind_number_request, opts = {})
28
+ data, _status_code, _headers = voice_bind_number_with_http_info(agent_id, bind_number_request, opts)
29
+ data
30
+ end
31
+
32
+ # Bind a phone number to a deployed agent for inbound routing
33
+ # @param agent_id [String] Agent id
34
+ # @param bind_number_request [BindNumberRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(BindNumberResponse, Integer, Hash)>] BindNumberResponse data, response status code and response headers
37
+ def voice_bind_number_with_http_info(agent_id, bind_number_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_bind_number ...'
40
+ end
41
+ # verify the required parameter 'agent_id' is set
42
+ if @api_client.config.client_side_validation && agent_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling VoiceApi.voice_bind_number"
44
+ end
45
+ # verify the required parameter 'bind_number_request' is set
46
+ if @api_client.config.client_side_validation && bind_number_request.nil?
47
+ fail ArgumentError, "Missing the required parameter 'bind_number_request' when calling VoiceApi.voice_bind_number"
48
+ end
49
+ # resource path
50
+ local_var_path = '/voice/agents/{agentId}/numbers'.sub('{' + 'agentId' + '}', CGI.escape(agent_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bind_number_request)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'BindNumberResponse'
73
+
74
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
75
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"VoiceApi.voice_bind_number",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: VoiceApi#voice_bind_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+
94
+ # Place an outbound call with an inline agent spec (ephemeral)
95
+ # @param voice_call_request [VoiceCallRequest]
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [VoiceCallResponse]
98
+ def voice_call(voice_call_request, opts = {})
99
+ data, _status_code, _headers = voice_call_with_http_info(voice_call_request, opts)
100
+ data
101
+ end
102
+
103
+ # Place an outbound call with an inline agent spec (ephemeral)
104
+ # @param voice_call_request [VoiceCallRequest]
105
+ # @param [Hash] opts the optional parameters
106
+ # @return [Array<(VoiceCallResponse, Integer, Hash)>] VoiceCallResponse data, response status code and response headers
107
+ def voice_call_with_http_info(voice_call_request, opts = {})
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_call ...'
110
+ end
111
+ # verify the required parameter 'voice_call_request' is set
112
+ if @api_client.config.client_side_validation && voice_call_request.nil?
113
+ fail ArgumentError, "Missing the required parameter 'voice_call_request' when calling VoiceApi.voice_call"
114
+ end
115
+ # resource path
116
+ local_var_path = '/voice/call'
117
+
118
+ # query parameters
119
+ query_params = opts[:query_params] || {}
120
+
121
+ # header parameters
122
+ header_params = opts[:header_params] || {}
123
+ # HTTP header 'Accept' (if needed)
124
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
125
+ # HTTP header 'Content-Type'
126
+ content_type = @api_client.select_header_content_type(['application/json'])
127
+ if !content_type.nil?
128
+ header_params['Content-Type'] = content_type
129
+ end
130
+
131
+ # form parameters
132
+ form_params = opts[:form_params] || {}
133
+
134
+ # http body (model)
135
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(voice_call_request)
136
+
137
+ # return_type
138
+ return_type = opts[:debug_return_type] || 'VoiceCallResponse'
139
+
140
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
141
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
142
+
143
+ new_options = opts.merge(
144
+ :operation => :"VoiceApi.voice_call",
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names,
150
+ :return_type => return_type
151
+ )
152
+
153
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug "API called: VoiceApi#voice_call\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
156
+ end
157
+ return data, status_code, headers
158
+ end
159
+
160
+ # Deploy a voice agent (persist spec for production routing)
161
+ # @param create_voice_agent_request [CreateVoiceAgentRequest]
162
+ # @param [Hash] opts the optional parameters
163
+ # @return [CreateVoiceAgentResponse]
164
+ def voice_create_agent(create_voice_agent_request, opts = {})
165
+ data, _status_code, _headers = voice_create_agent_with_http_info(create_voice_agent_request, opts)
166
+ data
167
+ end
168
+
169
+ # Deploy a voice agent (persist spec for production routing)
170
+ # @param create_voice_agent_request [CreateVoiceAgentRequest]
171
+ # @param [Hash] opts the optional parameters
172
+ # @return [Array<(CreateVoiceAgentResponse, Integer, Hash)>] CreateVoiceAgentResponse data, response status code and response headers
173
+ def voice_create_agent_with_http_info(create_voice_agent_request, opts = {})
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_create_agent ...'
176
+ end
177
+ # verify the required parameter 'create_voice_agent_request' is set
178
+ if @api_client.config.client_side_validation && create_voice_agent_request.nil?
179
+ fail ArgumentError, "Missing the required parameter 'create_voice_agent_request' when calling VoiceApi.voice_create_agent"
180
+ end
181
+ # resource path
182
+ local_var_path = '/voice/agents'
183
+
184
+ # query parameters
185
+ query_params = opts[:query_params] || {}
186
+
187
+ # header parameters
188
+ header_params = opts[:header_params] || {}
189
+ # HTTP header 'Accept' (if needed)
190
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
191
+ # HTTP header 'Content-Type'
192
+ content_type = @api_client.select_header_content_type(['application/json'])
193
+ if !content_type.nil?
194
+ header_params['Content-Type'] = content_type
195
+ end
196
+
197
+ # form parameters
198
+ form_params = opts[:form_params] || {}
199
+
200
+ # http body (model)
201
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_voice_agent_request)
202
+
203
+ # return_type
204
+ return_type = opts[:debug_return_type] || 'CreateVoiceAgentResponse'
205
+
206
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
207
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
208
+
209
+ new_options = opts.merge(
210
+ :operation => :"VoiceApi.voice_create_agent",
211
+ :header_params => header_params,
212
+ :query_params => query_params,
213
+ :form_params => form_params,
214
+ :body => post_body,
215
+ :auth_names => auth_names,
216
+ :return_type => return_type
217
+ )
218
+
219
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
220
+ if @api_client.config.debugging
221
+ @api_client.config.logger.debug "API called: VoiceApi#voice_create_agent\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
222
+ end
223
+ return data, status_code, headers
224
+ end
225
+
226
+ # Place an ephemeral browser playground call with an inline agent spec
227
+ # @param voice_browser_call_request [VoiceBrowserCallRequest]
228
+ # @param [Hash] opts the optional parameters
229
+ # @return [VoiceBrowserCallResponse]
230
+ def voice_create_browser_call(voice_browser_call_request, opts = {})
231
+ data, _status_code, _headers = voice_create_browser_call_with_http_info(voice_browser_call_request, opts)
232
+ data
233
+ end
234
+
235
+ # Place an ephemeral browser playground call with an inline agent spec
236
+ # @param voice_browser_call_request [VoiceBrowserCallRequest]
237
+ # @param [Hash] opts the optional parameters
238
+ # @return [Array<(VoiceBrowserCallResponse, Integer, Hash)>] VoiceBrowserCallResponse data, response status code and response headers
239
+ def voice_create_browser_call_with_http_info(voice_browser_call_request, opts = {})
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_create_browser_call ...'
242
+ end
243
+ # verify the required parameter 'voice_browser_call_request' is set
244
+ if @api_client.config.client_side_validation && voice_browser_call_request.nil?
245
+ fail ArgumentError, "Missing the required parameter 'voice_browser_call_request' when calling VoiceApi.voice_create_browser_call"
246
+ end
247
+ # resource path
248
+ local_var_path = '/voice/browser-call'
249
+
250
+ # query parameters
251
+ query_params = opts[:query_params] || {}
252
+
253
+ # header parameters
254
+ header_params = opts[:header_params] || {}
255
+ # HTTP header 'Accept' (if needed)
256
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
257
+ # HTTP header 'Content-Type'
258
+ content_type = @api_client.select_header_content_type(['application/json'])
259
+ if !content_type.nil?
260
+ header_params['Content-Type'] = content_type
261
+ end
262
+
263
+ # form parameters
264
+ form_params = opts[:form_params] || {}
265
+
266
+ # http body (model)
267
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(voice_browser_call_request)
268
+
269
+ # return_type
270
+ return_type = opts[:debug_return_type] || 'VoiceBrowserCallResponse'
271
+
272
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
273
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
274
+
275
+ new_options = opts.merge(
276
+ :operation => :"VoiceApi.voice_create_browser_call",
277
+ :header_params => header_params,
278
+ :query_params => query_params,
279
+ :form_params => form_params,
280
+ :body => post_body,
281
+ :auth_names => auth_names,
282
+ :return_type => return_type
283
+ )
284
+
285
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug "API called: VoiceApi#voice_create_browser_call\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
288
+ end
289
+ return data, status_code, headers
290
+ end
291
+
292
+ # Remove a deployed voice agent and unbind its numbers
293
+ # @param agent_id [String] Agent id
294
+ # @param [Hash] opts the optional parameters
295
+ # @return [DeleteVoiceAgentResponse]
296
+ def voice_delete_agent(agent_id, opts = {})
297
+ data, _status_code, _headers = voice_delete_agent_with_http_info(agent_id, opts)
298
+ data
299
+ end
300
+
301
+ # Remove a deployed voice agent and unbind its numbers
302
+ # @param agent_id [String] Agent id
303
+ # @param [Hash] opts the optional parameters
304
+ # @return [Array<(DeleteVoiceAgentResponse, Integer, Hash)>] DeleteVoiceAgentResponse data, response status code and response headers
305
+ def voice_delete_agent_with_http_info(agent_id, opts = {})
306
+ if @api_client.config.debugging
307
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_delete_agent ...'
308
+ end
309
+ # verify the required parameter 'agent_id' is set
310
+ if @api_client.config.client_side_validation && agent_id.nil?
311
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling VoiceApi.voice_delete_agent"
312
+ end
313
+ # resource path
314
+ local_var_path = '/voice/agents/{agentId}'.sub('{' + 'agentId' + '}', CGI.escape(agent_id.to_s))
315
+
316
+ # query parameters
317
+ query_params = opts[:query_params] || {}
318
+
319
+ # header parameters
320
+ header_params = opts[:header_params] || {}
321
+ # HTTP header 'Accept' (if needed)
322
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
323
+
324
+ # form parameters
325
+ form_params = opts[:form_params] || {}
326
+
327
+ # http body (model)
328
+ post_body = opts[:debug_body]
329
+
330
+ # return_type
331
+ return_type = opts[:debug_return_type] || 'DeleteVoiceAgentResponse'
332
+
333
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
334
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
335
+
336
+ new_options = opts.merge(
337
+ :operation => :"VoiceApi.voice_delete_agent",
338
+ :header_params => header_params,
339
+ :query_params => query_params,
340
+ :form_params => form_params,
341
+ :body => post_body,
342
+ :auth_names => auth_names,
343
+ :return_type => return_type
344
+ )
345
+
346
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
347
+ if @api_client.config.debugging
348
+ @api_client.config.logger.debug "API called: VoiceApi#voice_delete_agent\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
349
+ end
350
+ return data, status_code, headers
351
+ end
352
+
353
+ # Get a deployed voice agent
354
+ # @param agent_id [String] Agent id
355
+ # @param [Hash] opts the optional parameters
356
+ # @return [GetVoiceAgentResponse]
357
+ def voice_get_agent(agent_id, opts = {})
358
+ data, _status_code, _headers = voice_get_agent_with_http_info(agent_id, opts)
359
+ data
360
+ end
361
+
362
+ # Get a deployed voice agent
363
+ # @param agent_id [String] Agent id
364
+ # @param [Hash] opts the optional parameters
365
+ # @return [Array<(GetVoiceAgentResponse, Integer, Hash)>] GetVoiceAgentResponse data, response status code and response headers
366
+ def voice_get_agent_with_http_info(agent_id, opts = {})
367
+ if @api_client.config.debugging
368
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_get_agent ...'
369
+ end
370
+ # verify the required parameter 'agent_id' is set
371
+ if @api_client.config.client_side_validation && agent_id.nil?
372
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling VoiceApi.voice_get_agent"
373
+ end
374
+ # resource path
375
+ local_var_path = '/voice/agents/{agentId}'.sub('{' + 'agentId' + '}', CGI.escape(agent_id.to_s))
376
+
377
+ # query parameters
378
+ query_params = opts[:query_params] || {}
379
+
380
+ # header parameters
381
+ header_params = opts[:header_params] || {}
382
+ # HTTP header 'Accept' (if needed)
383
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
384
+
385
+ # form parameters
386
+ form_params = opts[:form_params] || {}
387
+
388
+ # http body (model)
389
+ post_body = opts[:debug_body]
390
+
391
+ # return_type
392
+ return_type = opts[:debug_return_type] || 'GetVoiceAgentResponse'
393
+
394
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
395
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
396
+
397
+ new_options = opts.merge(
398
+ :operation => :"VoiceApi.voice_get_agent",
399
+ :header_params => header_params,
400
+ :query_params => query_params,
401
+ :form_params => form_params,
402
+ :body => post_body,
403
+ :auth_names => auth_names,
404
+ :return_type => return_type
405
+ )
406
+
407
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
408
+ if @api_client.config.debugging
409
+ @api_client.config.logger.debug "API called: VoiceApi#voice_get_agent\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
410
+ end
411
+ return data, status_code, headers
412
+ end
413
+
414
+ # Get a call with transcript timeline and recording playback URL
415
+ # @param tracking_id [String] Call tracking id
416
+ # @param [Hash] opts the optional parameters
417
+ # @return [GetVoiceCallResponse]
418
+ def voice_get_call(tracking_id, opts = {})
419
+ data, _status_code, _headers = voice_get_call_with_http_info(tracking_id, opts)
420
+ data
421
+ end
422
+
423
+ # Get a call with transcript timeline and recording playback URL
424
+ # @param tracking_id [String] Call tracking id
425
+ # @param [Hash] opts the optional parameters
426
+ # @return [Array<(GetVoiceCallResponse, Integer, Hash)>] GetVoiceCallResponse data, response status code and response headers
427
+ def voice_get_call_with_http_info(tracking_id, opts = {})
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_get_call ...'
430
+ end
431
+ # verify the required parameter 'tracking_id' is set
432
+ if @api_client.config.client_side_validation && tracking_id.nil?
433
+ fail ArgumentError, "Missing the required parameter 'tracking_id' when calling VoiceApi.voice_get_call"
434
+ end
435
+ # resource path
436
+ local_var_path = '/voice/calls/{trackingId}'.sub('{' + 'trackingId' + '}', CGI.escape(tracking_id.to_s))
437
+
438
+ # query parameters
439
+ query_params = opts[:query_params] || {}
440
+
441
+ # header parameters
442
+ header_params = opts[:header_params] || {}
443
+ # HTTP header 'Accept' (if needed)
444
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
445
+
446
+ # form parameters
447
+ form_params = opts[:form_params] || {}
448
+
449
+ # http body (model)
450
+ post_body = opts[:debug_body]
451
+
452
+ # return_type
453
+ return_type = opts[:debug_return_type] || 'GetVoiceCallResponse'
454
+
455
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
456
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
457
+
458
+ new_options = opts.merge(
459
+ :operation => :"VoiceApi.voice_get_call",
460
+ :header_params => header_params,
461
+ :query_params => query_params,
462
+ :form_params => form_params,
463
+ :body => post_body,
464
+ :auth_names => auth_names,
465
+ :return_type => return_type
466
+ )
467
+
468
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
469
+ if @api_client.config.debugging
470
+ @api_client.config.logger.debug "API called: VoiceApi#voice_get_call\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
471
+ end
472
+ return data, status_code, headers
473
+ end
474
+
475
+ # List deployed voice agents for the account
476
+ # @param [Hash] opts the optional parameters
477
+ # @return [ListVoiceAgentsResponse]
478
+ def voice_list_agents(opts = {})
479
+ data, _status_code, _headers = voice_list_agents_with_http_info(opts)
480
+ data
481
+ end
482
+
483
+ # List deployed voice agents for the account
484
+ # @param [Hash] opts the optional parameters
485
+ # @return [Array<(ListVoiceAgentsResponse, Integer, Hash)>] ListVoiceAgentsResponse data, response status code and response headers
486
+ def voice_list_agents_with_http_info(opts = {})
487
+ if @api_client.config.debugging
488
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_list_agents ...'
489
+ end
490
+ # resource path
491
+ local_var_path = '/voice/agents'
492
+
493
+ # query parameters
494
+ query_params = opts[:query_params] || {}
495
+
496
+ # header parameters
497
+ header_params = opts[:header_params] || {}
498
+ # HTTP header 'Accept' (if needed)
499
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
500
+
501
+ # form parameters
502
+ form_params = opts[:form_params] || {}
503
+
504
+ # http body (model)
505
+ post_body = opts[:debug_body]
506
+
507
+ # return_type
508
+ return_type = opts[:debug_return_type] || 'ListVoiceAgentsResponse'
509
+
510
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
511
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
512
+
513
+ new_options = opts.merge(
514
+ :operation => :"VoiceApi.voice_list_agents",
515
+ :header_params => header_params,
516
+ :query_params => query_params,
517
+ :form_params => form_params,
518
+ :body => post_body,
519
+ :auth_names => auth_names,
520
+ :return_type => return_type
521
+ )
522
+
523
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
524
+ if @api_client.config.debugging
525
+ @api_client.config.logger.debug "API called: VoiceApi#voice_list_agents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
526
+ end
527
+ return data, status_code, headers
528
+ end
529
+
530
+ # List recent calls newest-first (30-day retention)
531
+ # @param [Hash] opts the optional parameters
532
+ # @option opts [String] :agent_id Only calls handled by this agent
533
+ # @option opts [Float] :limit Page size (default 25, max 100)
534
+ # @option opts [String] :cursor Pagination cursor from a previous response
535
+ # @return [ListVoiceCallsResponse]
536
+ def voice_list_calls(opts = {})
537
+ data, _status_code, _headers = voice_list_calls_with_http_info(opts)
538
+ data
539
+ end
540
+
541
+ # List recent calls newest-first (30-day retention)
542
+ # @param [Hash] opts the optional parameters
543
+ # @option opts [String] :agent_id Only calls handled by this agent
544
+ # @option opts [Float] :limit Page size (default 25, max 100)
545
+ # @option opts [String] :cursor Pagination cursor from a previous response
546
+ # @return [Array<(ListVoiceCallsResponse, Integer, Hash)>] ListVoiceCallsResponse data, response status code and response headers
547
+ def voice_list_calls_with_http_info(opts = {})
548
+ if @api_client.config.debugging
549
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_list_calls ...'
550
+ end
551
+ # resource path
552
+ local_var_path = '/voice/calls'
553
+
554
+ # query parameters
555
+ query_params = opts[:query_params] || {}
556
+ query_params[:'agentId'] = opts[:'agent_id'] if !opts[:'agent_id'].nil?
557
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
558
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
559
+
560
+ # header parameters
561
+ header_params = opts[:header_params] || {}
562
+ # HTTP header 'Accept' (if needed)
563
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
564
+
565
+ # form parameters
566
+ form_params = opts[:form_params] || {}
567
+
568
+ # http body (model)
569
+ post_body = opts[:debug_body]
570
+
571
+ # return_type
572
+ return_type = opts[:debug_return_type] || 'ListVoiceCallsResponse'
573
+
574
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
575
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
576
+
577
+ new_options = opts.merge(
578
+ :operation => :"VoiceApi.voice_list_calls",
579
+ :header_params => header_params,
580
+ :query_params => query_params,
581
+ :form_params => form_params,
582
+ :body => post_body,
583
+ :auth_names => auth_names,
584
+ :return_type => return_type
585
+ )
586
+
587
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
588
+ if @api_client.config.debugging
589
+ @api_client.config.logger.debug "API called: VoiceApi#voice_list_calls\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
590
+ end
591
+ return data, status_code, headers
592
+ end
593
+
594
+ # Unbind a phone number from a deployed agent
595
+ # @param agent_id [String] Agent id
596
+ # @param phone_number [String] E.164 phone number
597
+ # @param [Hash] opts the optional parameters
598
+ # @return [UnbindNumberResponse]
599
+ def voice_unbind_number(agent_id, phone_number, opts = {})
600
+ data, _status_code, _headers = voice_unbind_number_with_http_info(agent_id, phone_number, opts)
601
+ data
602
+ end
603
+
604
+ # Unbind a phone number from a deployed agent
605
+ # @param agent_id [String] Agent id
606
+ # @param phone_number [String] E.164 phone number
607
+ # @param [Hash] opts the optional parameters
608
+ # @return [Array<(UnbindNumberResponse, Integer, Hash)>] UnbindNumberResponse data, response status code and response headers
609
+ def voice_unbind_number_with_http_info(agent_id, phone_number, opts = {})
610
+ if @api_client.config.debugging
611
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_unbind_number ...'
612
+ end
613
+ # verify the required parameter 'agent_id' is set
614
+ if @api_client.config.client_side_validation && agent_id.nil?
615
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling VoiceApi.voice_unbind_number"
616
+ end
617
+ # verify the required parameter 'phone_number' is set
618
+ if @api_client.config.client_side_validation && phone_number.nil?
619
+ fail ArgumentError, "Missing the required parameter 'phone_number' when calling VoiceApi.voice_unbind_number"
620
+ end
621
+ # resource path
622
+ local_var_path = '/voice/agents/{agentId}/numbers/{phoneNumber}'.sub('{' + 'agentId' + '}', CGI.escape(agent_id.to_s)).sub('{' + 'phoneNumber' + '}', CGI.escape(phone_number.to_s))
623
+
624
+ # query parameters
625
+ query_params = opts[:query_params] || {}
626
+
627
+ # header parameters
628
+ header_params = opts[:header_params] || {}
629
+ # HTTP header 'Accept' (if needed)
630
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
631
+
632
+ # form parameters
633
+ form_params = opts[:form_params] || {}
634
+
635
+ # http body (model)
636
+ post_body = opts[:debug_body]
637
+
638
+ # return_type
639
+ return_type = opts[:debug_return_type] || 'UnbindNumberResponse'
640
+
641
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
642
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
643
+
644
+ new_options = opts.merge(
645
+ :operation => :"VoiceApi.voice_unbind_number",
646
+ :header_params => header_params,
647
+ :query_params => query_params,
648
+ :form_params => form_params,
649
+ :body => post_body,
650
+ :auth_names => auth_names,
651
+ :return_type => return_type
652
+ )
653
+
654
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
655
+ if @api_client.config.debugging
656
+ @api_client.config.logger.debug "API called: VoiceApi#voice_unbind_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
657
+ end
658
+ return data, status_code, headers
659
+ end
660
+
661
+ # Publish changes to a deployed voice agent
662
+ # @param agent_id [String] Agent id
663
+ # @param update_voice_agent_request [UpdateVoiceAgentRequest]
664
+ # @param [Hash] opts the optional parameters
665
+ # @return [UpdateVoiceAgentResponse]
666
+ def voice_update_agent(agent_id, update_voice_agent_request, opts = {})
667
+ data, _status_code, _headers = voice_update_agent_with_http_info(agent_id, update_voice_agent_request, opts)
668
+ data
669
+ end
670
+
671
+ # Publish changes to a deployed voice agent
672
+ # @param agent_id [String] Agent id
673
+ # @param update_voice_agent_request [UpdateVoiceAgentRequest]
674
+ # @param [Hash] opts the optional parameters
675
+ # @return [Array<(UpdateVoiceAgentResponse, Integer, Hash)>] UpdateVoiceAgentResponse data, response status code and response headers
676
+ def voice_update_agent_with_http_info(agent_id, update_voice_agent_request, opts = {})
677
+ if @api_client.config.debugging
678
+ @api_client.config.logger.debug 'Calling API: VoiceApi.voice_update_agent ...'
679
+ end
680
+ # verify the required parameter 'agent_id' is set
681
+ if @api_client.config.client_side_validation && agent_id.nil?
682
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling VoiceApi.voice_update_agent"
683
+ end
684
+ # verify the required parameter 'update_voice_agent_request' is set
685
+ if @api_client.config.client_side_validation && update_voice_agent_request.nil?
686
+ fail ArgumentError, "Missing the required parameter 'update_voice_agent_request' when calling VoiceApi.voice_update_agent"
687
+ end
688
+ # resource path
689
+ local_var_path = '/voice/agents/{agentId}'.sub('{' + 'agentId' + '}', CGI.escape(agent_id.to_s))
690
+
691
+ # query parameters
692
+ query_params = opts[:query_params] || {}
693
+
694
+ # header parameters
695
+ header_params = opts[:header_params] || {}
696
+ # HTTP header 'Accept' (if needed)
697
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
698
+ # HTTP header 'Content-Type'
699
+ content_type = @api_client.select_header_content_type(['application/json'])
700
+ if !content_type.nil?
701
+ header_params['Content-Type'] = content_type
702
+ end
703
+
704
+ # form parameters
705
+ form_params = opts[:form_params] || {}
706
+
707
+ # http body (model)
708
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_voice_agent_request)
709
+
710
+ # return_type
711
+ return_type = opts[:debug_return_type] || 'UpdateVoiceAgentResponse'
712
+
713
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
714
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
715
+
716
+ new_options = opts.merge(
717
+ :operation => :"VoiceApi.voice_update_agent",
718
+ :header_params => header_params,
719
+ :query_params => query_params,
720
+ :form_params => form_params,
721
+ :body => post_body,
722
+ :auth_names => auth_names,
723
+ :return_type => return_type
724
+ )
725
+
726
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
727
+ if @api_client.config.debugging
728
+ @api_client.config.logger.debug "API called: VoiceApi#voice_update_agent\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
729
+ end
730
+ return data, status_code, headers
731
+ end
732
+ end
733
+ end