telnyx 3.3.0a0__py3-none-any.whl → 3.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

Files changed (501) hide show
  1. telnyx/__init__.py +3 -1
  2. telnyx/_base_client.py +12 -12
  3. telnyx/_client.py +63 -762
  4. telnyx/_compat.py +48 -48
  5. telnyx/_models.py +50 -44
  6. telnyx/_qs.py +7 -7
  7. telnyx/_types.py +53 -12
  8. telnyx/_utils/__init__.py +9 -2
  9. telnyx/_utils/_compat.py +45 -0
  10. telnyx/_utils/_datetime_parse.py +136 -0
  11. telnyx/_utils/_transform.py +13 -3
  12. telnyx/_utils/_typing.py +6 -1
  13. telnyx/_utils/_utils.py +4 -5
  14. telnyx/_version.py +1 -1
  15. telnyx/resources/__init__.py +70 -0
  16. telnyx/resources/access_ip_address.py +15 -15
  17. telnyx/resources/access_ip_ranges.py +13 -13
  18. telnyx/resources/actions/purchase.py +13 -14
  19. telnyx/resources/actions/register.py +11 -12
  20. telnyx/resources/addresses/actions.py +13 -13
  21. telnyx/resources/addresses/addresses.py +33 -35
  22. telnyx/resources/advanced_orders.py +102 -106
  23. telnyx/resources/ai/ai.py +7 -7
  24. telnyx/resources/ai/assistants/assistants.py +89 -89
  25. telnyx/resources/ai/assistants/canary_deploys.py +9 -9
  26. telnyx/resources/ai/assistants/scheduled_events.py +21 -21
  27. telnyx/resources/ai/assistants/tests/runs.py +13 -13
  28. telnyx/resources/ai/assistants/tests/test_suites/runs.py +13 -13
  29. telnyx/resources/ai/assistants/tests/test_suites/test_suites.py +3 -3
  30. telnyx/resources/ai/assistants/tests/tests.py +43 -43
  31. telnyx/resources/ai/assistants/tools.py +7 -7
  32. telnyx/resources/ai/assistants/versions.py +45 -45
  33. telnyx/resources/ai/audio.py +11 -11
  34. telnyx/resources/ai/chat.py +48 -48
  35. telnyx/resources/ai/clusters.py +27 -29
  36. telnyx/resources/ai/conversations/conversations.py +179 -45
  37. telnyx/resources/ai/conversations/insight_groups/insight_groups.py +23 -23
  38. telnyx/resources/ai/conversations/insight_groups/insights.py +5 -5
  39. telnyx/resources/ai/conversations/insights.py +25 -25
  40. telnyx/resources/ai/conversations/messages.py +3 -136
  41. telnyx/resources/ai/embeddings/buckets.py +7 -7
  42. telnyx/resources/ai/embeddings/embeddings.py +23 -24
  43. telnyx/resources/ai/fine_tuning/jobs.py +13 -13
  44. telnyx/resources/audit_events.py +9 -9
  45. telnyx/resources/authentication_providers.py +29 -29
  46. telnyx/resources/available_phone_number_blocks.py +5 -5
  47. telnyx/resources/available_phone_numbers.py +5 -5
  48. telnyx/resources/balance.py +3 -3
  49. telnyx/resources/billing_groups.py +17 -17
  50. telnyx/resources/brand/brand.py +121 -117
  51. telnyx/resources/brand/external_vetting.py +9 -9
  52. telnyx/resources/bulk_sim_card_actions.py +11 -11
  53. telnyx/resources/bundle_pricing/billing_bundles.py +13 -13
  54. telnyx/resources/bundle_pricing/user_bundles.py +35 -35
  55. telnyx/resources/call_control_applications.py +64 -68
  56. telnyx/resources/call_events.py +7 -7
  57. telnyx/resources/calls/actions.py +699 -699
  58. telnyx/resources/calls/calls.py +116 -110
  59. telnyx/resources/campaign/campaign.py +47 -47
  60. telnyx/resources/campaign/osr.py +3 -3
  61. telnyx/resources/campaign/usecase.py +3 -3
  62. telnyx/resources/campaign_builder/brand.py +3 -3
  63. telnyx/resources/campaign_builder/campaign_builder.py +68 -68
  64. telnyx/resources/channel_zones.py +7 -7
  65. telnyx/resources/charges_breakdown.py +7 -7
  66. telnyx/resources/charges_summary.py +3 -3
  67. telnyx/resources/comments.py +17 -17
  68. telnyx/resources/conferences/actions.py +123 -140
  69. telnyx/resources/conferences/conferences.py +37 -41
  70. telnyx/resources/connections.py +15 -15
  71. telnyx/resources/country_coverage.py +5 -5
  72. telnyx/resources/credential_connections/actions.py +3 -3
  73. telnyx/resources/credential_connections/credential_connections.py +96 -96
  74. telnyx/resources/custom_storage_credentials.py +9 -9
  75. telnyx/resources/customer_service_records.py +21 -23
  76. telnyx/resources/detail_records.py +9 -11
  77. telnyx/resources/dialogflow_connections.py +25 -25
  78. telnyx/resources/document_links.py +7 -7
  79. telnyx/resources/documents.py +45 -45
  80. telnyx/resources/dynamic_emergency_addresses.py +23 -23
  81. telnyx/resources/dynamic_emergency_endpoints.py +13 -13
  82. telnyx/resources/enum.py +3 -3
  83. telnyx/resources/external_connections/civic_addresses.py +7 -7
  84. telnyx/resources/external_connections/external_connections.py +42 -42
  85. telnyx/resources/external_connections/log_messages.py +11 -11
  86. telnyx/resources/external_connections/phone_numbers.py +13 -13
  87. telnyx/resources/external_connections/releases.py +9 -9
  88. telnyx/resources/external_connections/uploads.py +27 -29
  89. telnyx/resources/fax_applications.py +48 -48
  90. telnyx/resources/faxes/actions.py +5 -5
  91. telnyx/resources/faxes/faxes.py +35 -35
  92. telnyx/resources/fqdn_connections.py +94 -94
  93. telnyx/resources/fqdns.py +25 -25
  94. telnyx/resources/global_ip_allowed_ports.py +3 -3
  95. telnyx/resources/global_ip_assignment_health.py +5 -5
  96. telnyx/resources/global_ip_assignments.py +19 -19
  97. telnyx/resources/global_ip_assignments_usage.py +5 -5
  98. telnyx/resources/global_ip_health_check_types.py +3 -3
  99. telnyx/resources/global_ip_health_checks.py +17 -17
  100. telnyx/resources/global_ip_latency.py +5 -5
  101. telnyx/resources/global_ip_protocols.py +3 -3
  102. telnyx/resources/global_ip_usage.py +5 -5
  103. telnyx/resources/global_ips.py +17 -17
  104. telnyx/resources/inbound_channels.py +5 -5
  105. telnyx/resources/integration_secrets.py +17 -17
  106. telnyx/resources/inventory_coverage.py +5 -5
  107. telnyx/resources/invoices.py +11 -11
  108. telnyx/resources/ip_connections.py +94 -94
  109. telnyx/resources/ips.py +23 -23
  110. telnyx/resources/ledger_billing_group_reports.py +9 -9
  111. telnyx/resources/legacy/__init__.py +33 -0
  112. telnyx/resources/legacy/legacy.py +102 -0
  113. telnyx/resources/legacy/reporting/__init__.py +47 -0
  114. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  115. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  116. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  117. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  118. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  119. telnyx/resources/legacy/reporting/reporting.py +134 -0
  120. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  121. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  122. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  123. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  124. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  125. telnyx/resources/list.py +5 -5
  126. telnyx/resources/managed_accounts/actions.py +7 -7
  127. telnyx/resources/managed_accounts/managed_accounts.py +33 -33
  128. telnyx/resources/media.py +23 -23
  129. telnyx/resources/messages/messages.py +124 -124
  130. telnyx/resources/messages/rcs.py +7 -7
  131. telnyx/resources/messaging/rcs/agents.py +15 -15
  132. telnyx/resources/messaging/rcs/rcs.py +9 -11
  133. telnyx/resources/messaging_hosted_number_orders/actions.py +7 -7
  134. telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +26 -26
  135. telnyx/resources/messaging_hosted_numbers.py +3 -3
  136. telnyx/resources/messaging_numbers_bulk_updates.py +7 -9
  137. telnyx/resources/messaging_optouts.py +11 -11
  138. telnyx/resources/messaging_profiles/autoresp_configs.py +25 -26
  139. telnyx/resources/messaging_profiles/messaging_profiles.py +92 -76
  140. telnyx/resources/messaging_tollfree/verification/requests.py +27 -27
  141. telnyx/resources/messaging_url_domains.py +5 -5
  142. telnyx/resources/messsages.py +11 -11
  143. telnyx/resources/mobile_network_operators.py +7 -7
  144. telnyx/resources/mobile_push_credentials.py +23 -23
  145. telnyx/resources/network_coverage.py +9 -9
  146. telnyx/resources/networks/default_gateway.py +9 -9
  147. telnyx/resources/networks/networks.py +21 -21
  148. telnyx/resources/notification_channels.py +27 -27
  149. telnyx/resources/notification_event_conditions.py +7 -7
  150. telnyx/resources/notification_events.py +5 -5
  151. telnyx/resources/notification_profiles.py +17 -17
  152. telnyx/resources/notification_settings.py +21 -21
  153. telnyx/resources/number_block_orders.py +17 -17
  154. telnyx/resources/number_lookup.py +5 -5
  155. telnyx/resources/number_order_phone_numbers.py +13 -13
  156. telnyx/resources/number_orders.py +27 -27
  157. telnyx/resources/number_reservations/actions.py +3 -3
  158. telnyx/resources/number_reservations/number_reservations.py +15 -15
  159. telnyx/resources/numbers_features.py +5 -7
  160. telnyx/resources/oauth.py +855 -0
  161. telnyx/resources/oauth_clients.py +711 -0
  162. telnyx/resources/oauth_grants.py +349 -0
  163. telnyx/resources/operator_connect/actions.py +3 -3
  164. telnyx/resources/ota_updates.py +9 -9
  165. telnyx/resources/outbound_voice_profiles.py +66 -66
  166. telnyx/resources/partner_campaigns.py +25 -25
  167. telnyx/resources/payment/auto_recharge_prefs.py +15 -15
  168. telnyx/resources/phone_number_assignment_by_profile.py +15 -15
  169. telnyx/resources/phone_number_blocks/jobs.py +13 -13
  170. telnyx/resources/phone_number_campaigns.py +19 -19
  171. telnyx/resources/phone_numbers/actions.py +9 -11
  172. telnyx/resources/phone_numbers/csv_downloads.py +13 -13
  173. telnyx/resources/phone_numbers/jobs.py +54 -42
  174. telnyx/resources/phone_numbers/messaging.py +13 -13
  175. telnyx/resources/phone_numbers/phone_numbers.py +39 -40
  176. telnyx/resources/phone_numbers/voice.py +31 -31
  177. telnyx/resources/phone_numbers/voicemail.py +15 -15
  178. telnyx/resources/phone_numbers_regulatory_requirements.py +5 -5
  179. telnyx/resources/portability_checks.py +5 -7
  180. telnyx/resources/porting/events.py +11 -11
  181. telnyx/resources/porting/loa_configurations.py +17 -17
  182. telnyx/resources/porting/porting.py +3 -3
  183. telnyx/resources/porting/reports.py +11 -11
  184. telnyx/resources/porting_orders/action_requirements.py +11 -11
  185. telnyx/resources/porting_orders/actions.py +13 -13
  186. telnyx/resources/porting_orders/activation_jobs.py +11 -11
  187. telnyx/resources/porting_orders/additional_documents.py +15 -15
  188. telnyx/resources/porting_orders/associated_phone_numbers.py +13 -13
  189. telnyx/resources/porting_orders/comments.py +9 -9
  190. telnyx/resources/porting_orders/phone_number_blocks.py +13 -13
  191. telnyx/resources/porting_orders/phone_number_configurations.py +13 -13
  192. telnyx/resources/porting_orders/phone_number_extensions.py +13 -13
  193. telnyx/resources/porting_orders/porting_orders.py +82 -70
  194. telnyx/resources/porting_orders/verification_codes.py +20 -20
  195. telnyx/resources/porting_phone_numbers.py +7 -7
  196. telnyx/resources/portouts/comments.py +7 -7
  197. telnyx/resources/portouts/events.py +11 -11
  198. telnyx/resources/portouts/portouts.py +17 -17
  199. telnyx/resources/portouts/reports.py +11 -11
  200. telnyx/resources/portouts/supporting_documents.py +7 -7
  201. telnyx/resources/private_wireless_gateways.py +25 -25
  202. telnyx/resources/public_internet_gateways.py +19 -19
  203. telnyx/resources/queues/calls.py +7 -7
  204. telnyx/resources/queues/queues.py +3 -3
  205. telnyx/resources/recording_transcriptions.py +7 -7
  206. telnyx/resources/recordings/actions.py +5 -7
  207. telnyx/resources/recordings/recordings.py +11 -11
  208. telnyx/resources/regions.py +3 -3
  209. telnyx/resources/regulatory_requirements.py +5 -5
  210. telnyx/resources/reports/cdr_usage_reports.py +9 -9
  211. telnyx/resources/reports/mdr_usage_reports.py +22 -22
  212. telnyx/resources/reports/reports.py +47 -48
  213. telnyx/resources/requirement_groups.py +23 -23
  214. telnyx/resources/requirement_types.py +9 -11
  215. telnyx/resources/requirements.py +11 -11
  216. telnyx/resources/room_compositions.py +27 -27
  217. telnyx/resources/room_participants.py +9 -9
  218. telnyx/resources/room_recordings.py +17 -17
  219. telnyx/resources/rooms/actions.py +11 -11
  220. telnyx/resources/rooms/rooms.py +43 -43
  221. telnyx/resources/rooms/sessions/actions.py +22 -22
  222. telnyx/resources/rooms/sessions/sessions.py +27 -27
  223. telnyx/resources/seti.py +5 -5
  224. telnyx/resources/short_codes.py +11 -11
  225. telnyx/resources/sim_card_data_usage_notifications.py +21 -21
  226. telnyx/resources/sim_card_groups/actions.py +23 -23
  227. telnyx/resources/sim_card_groups/sim_card_groups.py +29 -29
  228. telnyx/resources/sim_card_order_preview.py +3 -3
  229. telnyx/resources/sim_card_orders.py +11 -11
  230. telnyx/resources/sim_cards/actions.py +29 -31
  231. telnyx/resources/sim_cards/sim_cards.py +48 -48
  232. telnyx/resources/siprec_connectors.py +13 -13
  233. telnyx/resources/storage/buckets/buckets.py +5 -5
  234. telnyx/resources/storage/buckets/ssl_certificate.py +11 -11
  235. telnyx/resources/storage/buckets/usage.py +5 -5
  236. telnyx/resources/storage/migration_sources.py +11 -11
  237. telnyx/resources/storage/migrations/actions.py +3 -3
  238. telnyx/resources/storage/migrations/migrations.py +9 -9
  239. telnyx/resources/storage/storage.py +3 -3
  240. telnyx/resources/sub_number_orders.py +17 -17
  241. telnyx/resources/sub_number_orders_report.py +19 -19
  242. telnyx/resources/telephony_credentials.py +31 -31
  243. telnyx/resources/texml/accounts/accounts.py +15 -15
  244. telnyx/resources/texml/accounts/calls/calls.py +156 -145
  245. telnyx/resources/texml/accounts/calls/recordings.py +5 -5
  246. telnyx/resources/texml/accounts/calls/recordings_json.py +19 -19
  247. telnyx/resources/texml/accounts/calls/siprec.py +5 -5
  248. telnyx/resources/texml/accounts/calls/streams.py +5 -5
  249. telnyx/resources/texml/accounts/conferences/conferences.py +31 -31
  250. telnyx/resources/texml/accounts/conferences/participants.py +134 -123
  251. telnyx/resources/texml/accounts/recordings/json.py +5 -5
  252. telnyx/resources/texml/accounts/transcriptions/json.py +5 -5
  253. telnyx/resources/texml/calls.py +79 -79
  254. telnyx/resources/texml/texml.py +3 -3
  255. telnyx/resources/texml_applications.py +65 -66
  256. telnyx/resources/text_to_speech.py +9 -9
  257. telnyx/resources/usage_reports.py +31 -32
  258. telnyx/resources/user_addresses.py +29 -31
  259. telnyx/resources/user_tags.py +5 -5
  260. telnyx/resources/verifications/actions.py +7 -7
  261. telnyx/resources/verifications/by_phone_number/actions.py +3 -3
  262. telnyx/resources/verifications/by_phone_number/by_phone_number.py +3 -3
  263. telnyx/resources/verifications/verifications.py +29 -19
  264. telnyx/resources/verified_numbers/actions.py +3 -3
  265. telnyx/resources/verified_numbers/verified_numbers.py +36 -15
  266. telnyx/resources/verify_profiles.py +226 -44
  267. telnyx/resources/virtual_cross_connects.py +45 -45
  268. telnyx/resources/virtual_cross_connects_coverage.py +9 -9
  269. telnyx/resources/webhook_deliveries.py +9 -9
  270. telnyx/resources/well_known.py +198 -0
  271. telnyx/resources/wireguard_interfaces.py +17 -17
  272. telnyx/resources/wireguard_peers.py +21 -21
  273. telnyx/resources/wireless/detail_records_reports.py +17 -17
  274. telnyx/resources/wireless/wireless.py +3 -3
  275. telnyx/resources/wireless_blocklist_values.py +3 -3
  276. telnyx/resources/wireless_blocklists.py +29 -30
  277. telnyx/types/__init__.py +53 -13
  278. telnyx/types/actions/purchase_create_params.py +3 -2
  279. telnyx/types/actions/register_create_params.py +4 -3
  280. telnyx/types/addresses/action_validate_response.py +8 -3
  281. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  282. telnyx/types/ai/__init__.py +1 -0
  283. telnyx/types/ai/chat_create_completion_params.py +3 -2
  284. telnyx/types/ai/cluster_compute_params.py +3 -2
  285. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  286. telnyx/types/ai/conversations/__init__.py +0 -1
  287. telnyx/types/ai/embedding_list_params.py +3 -2
  288. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  289. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  290. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  291. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  292. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  293. telnyx/types/ai/voice_settings.py +49 -2
  294. telnyx/types/ai/voice_settings_param.py +49 -2
  295. telnyx/types/brand_create_params.py +2 -1
  296. telnyx/types/brand_update_params.py +2 -1
  297. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  298. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  299. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  300. telnyx/types/call_control_application_update_params.py +3 -2
  301. telnyx/types/call_dial_params.py +14 -6
  302. telnyx/types/calls/action_answer_params.py +1 -2
  303. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  304. telnyx/types/calls/action_start_streaming_params.py +4 -2
  305. telnyx/types/calls/action_start_transcription_params.py +260 -6
  306. telnyx/types/calls/action_transfer_params.py +50 -0
  307. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  308. telnyx/types/calls/transcription_start_request_param.py +261 -6
  309. telnyx/types/campaign_builder_create_params.py +4 -3
  310. telnyx/types/campaign_submit_appeal_response.py +0 -3
  311. telnyx/types/conferences/action_hold_params.py +3 -2
  312. telnyx/types/conferences/action_join_params.py +3 -2
  313. telnyx/types/conferences/action_mute_params.py +3 -2
  314. telnyx/types/conferences/action_play_params.py +2 -2
  315. telnyx/types/conferences/action_speak_params.py +3 -2
  316. telnyx/types/conferences/action_stop_params.py +3 -2
  317. telnyx/types/conferences/action_unhold_params.py +3 -2
  318. telnyx/types/conferences/action_unmute_params.py +3 -2
  319. telnyx/types/conferences/action_update_params.py +3 -2
  320. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  321. telnyx/types/country_coverage_retrieve_response.py +7 -0
  322. telnyx/types/credential_connection_create_params.py +3 -2
  323. telnyx/types/credential_connection_update_params.py +3 -2
  324. telnyx/types/credential_inbound_param.py +3 -2
  325. telnyx/types/customer_service_record_list_params.py +2 -1
  326. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  327. telnyx/types/detail_record_list_params.py +4 -2
  328. telnyx/types/document_list_params.py +2 -1
  329. telnyx/types/external_connection_create_params.py +4 -2
  330. telnyx/types/external_connection_update_params.py +4 -2
  331. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  332. telnyx/types/external_connections/upload_create_params.py +3 -1
  333. telnyx/types/fax_application_create_params.py +3 -2
  334. telnyx/types/fax_application_update_params.py +3 -2
  335. telnyx/types/fqdn_connection_create_params.py +3 -2
  336. telnyx/types/fqdn_connection_update_params.py +3 -2
  337. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  338. telnyx/types/inbound_fqdn_param.py +4 -2
  339. telnyx/types/inbound_ip_param.py +3 -2
  340. telnyx/types/ip_connection_create_params.py +4 -3
  341. telnyx/types/ip_connection_update_params.py +3 -2
  342. telnyx/types/legacy/__init__.py +3 -0
  343. telnyx/types/legacy/reporting/__init__.py +12 -0
  344. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  345. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  346. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  347. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  348. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  349. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  350. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  351. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  352. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  353. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  354. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  355. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  356. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  357. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  358. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  359. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  360. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  361. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  362. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  363. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  364. telnyx/types/legacy/reporting/filter.py +31 -0
  365. telnyx/types/legacy/reporting/filter_param.py +30 -0
  366. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  367. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  368. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  369. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  370. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  371. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  372. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  373. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  374. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  375. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  376. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  377. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  378. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  379. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  380. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  381. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  382. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  383. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  384. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  385. telnyx/types/media_list_params.py +3 -2
  386. telnyx/types/message_schedule_params.py +3 -2
  387. telnyx/types/message_send_group_mms_params.py +3 -3
  388. telnyx/types/message_send_long_code_params.py +2 -2
  389. telnyx/types/message_send_number_pool_params.py +3 -2
  390. telnyx/types/message_send_params.py +3 -2
  391. telnyx/types/message_send_short_code_params.py +2 -2
  392. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  393. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  394. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  395. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  396. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  397. telnyx/types/messaging_profile.py +3 -0
  398. telnyx/types/messaging_profile_create_params.py +6 -2
  399. telnyx/types/messaging_profile_update_params.py +6 -2
  400. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  401. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  402. telnyx/types/messsage_rcs_params.py +2 -2
  403. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  404. telnyx/types/numbers_feature_create_params.py +3 -2
  405. telnyx/types/oauth_client.py +59 -0
  406. telnyx/types/oauth_client_create_params.py +39 -0
  407. telnyx/types/oauth_client_create_response.py +12 -0
  408. telnyx/types/oauth_client_list_params.py +38 -0
  409. telnyx/types/oauth_client_list_response.py +28 -0
  410. telnyx/types/oauth_client_retrieve_response.py +12 -0
  411. telnyx/types/oauth_client_update_params.py +36 -0
  412. telnyx/types/oauth_client_update_response.py +12 -0
  413. telnyx/types/oauth_grant.py +29 -0
  414. telnyx/types/oauth_grant_delete_response.py +12 -0
  415. telnyx/types/oauth_grant_list_params.py +17 -0
  416. telnyx/types/oauth_grant_list_response.py +28 -0
  417. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  418. telnyx/types/oauth_grants_params.py +15 -0
  419. telnyx/types/oauth_grants_response.py +10 -0
  420. telnyx/types/oauth_introspect_params.py +12 -0
  421. telnyx/types/oauth_introspect_response.py +30 -0
  422. telnyx/types/oauth_register_params.py +39 -0
  423. telnyx/types/oauth_register_response.py +45 -0
  424. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  425. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  426. telnyx/types/oauth_retrieve_response.py +47 -0
  427. telnyx/types/oauth_token_params.py +33 -0
  428. telnyx/types/oauth_token_response.py +25 -0
  429. telnyx/types/outbound_call_recording_param.py +3 -2
  430. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  431. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  432. telnyx/types/phone_number_delete_response.py +7 -0
  433. telnyx/types/phone_number_detailed.py +7 -0
  434. telnyx/types/phone_number_list_params.py +9 -2
  435. telnyx/types/phone_number_slim_list_params.py +3 -2
  436. telnyx/types/phone_number_update_params.py +3 -2
  437. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  438. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  439. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  440. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  441. telnyx/types/portability_check_run_params.py +3 -2
  442. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  443. telnyx/types/porting_order.py +3 -0
  444. telnyx/types/porting_order_create_params.py +6 -2
  445. telnyx/types/porting_order_list_params.py +52 -31
  446. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  447. telnyx/types/porting_order_update_params.py +2 -0
  448. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  449. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  450. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  451. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  452. telnyx/types/portout_list_params.py +2 -1
  453. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  454. telnyx/types/recordings/action_delete_params.py +3 -2
  455. telnyx/types/report_list_wdrs_params.py +3 -2
  456. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  457. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  458. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  459. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  460. telnyx/types/shared/__init__.py +1 -0
  461. telnyx/types/{error.py → shared/api_error.py} +3 -3
  462. telnyx/types/shared/simple_sim_card.py +15 -0
  463. telnyx/types/sim_card.py +12 -0
  464. telnyx/types/sim_card_list_params.py +2 -1
  465. telnyx/types/sim_card_update_params.py +4 -3
  466. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  467. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  468. telnyx/types/stream_bidirectional_codec.py +1 -1
  469. telnyx/types/stream_codec.py +1 -1
  470. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  471. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  472. telnyx/types/texml_application_create_params.py +2 -2
  473. telnyx/types/texml_application_update_params.py +2 -2
  474. telnyx/types/usage_report_list_params.py +5 -4
  475. telnyx/types/verification_trigger_call_params.py +7 -0
  476. telnyx/types/verified_number_create_params.py +10 -0
  477. telnyx/types/verify_profile.py +18 -3
  478. telnyx/types/verify_profile_create_params.py +6 -4
  479. telnyx/types/verify_profile_create_template_params.py +12 -0
  480. telnyx/types/verify_profile_create_template_response.py +12 -0
  481. telnyx/types/verify_profile_message_template_response.py +13 -0
  482. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  483. telnyx/types/verify_profile_update_params.py +6 -4
  484. telnyx/types/verify_profile_update_template_params.py +12 -0
  485. telnyx/types/verify_profile_update_template_response.py +12 -0
  486. telnyx/types/video_region_param.py +4 -2
  487. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  488. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  489. telnyx/types/wireless_blocklist_create_params.py +3 -2
  490. telnyx/types/wireless_blocklist_update_params.py +3 -2
  491. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/METADATA +60 -19
  492. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/RECORD +494 -407
  493. telnyx/types/client_create_bucket_params.py +0 -13
  494. telnyx/types/client_delete_objects_params.py +0 -20
  495. telnyx/types/client_get_object_params.py +0 -15
  496. telnyx/types/client_list_objects_params.py +0 -13
  497. telnyx/types/client_put_object_params.py +0 -20
  498. telnyx/types/list_buckets_response.py +0 -20
  499. telnyx/types/list_objects_response.py +0 -24
  500. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/WHEEL +0 -0
  501. {telnyx-3.3.0a0.dist-info → telnyx-3.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,539 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Iterable
6
+ from datetime import datetime
7
+
8
+ import httpx
9
+
10
+ from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
11
+ from ....._utils import maybe_transform, async_maybe_transform
12
+ from ....._compat import cached_property
13
+ from ....._resource import SyncAPIResource, AsyncAPIResource
14
+ from ....._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ....._base_client import make_request_options
21
+ from .....types.legacy.reporting.filter_param import FilterParam
22
+ from .....types.legacy.reporting.batch_detail_records import voice_create_params
23
+ from .....types.legacy.reporting.batch_detail_records.voice_list_response import VoiceListResponse
24
+ from .....types.legacy.reporting.batch_detail_records.voice_create_response import VoiceCreateResponse
25
+ from .....types.legacy.reporting.batch_detail_records.voice_delete_response import VoiceDeleteResponse
26
+ from .....types.legacy.reporting.batch_detail_records.voice_retrieve_response import VoiceRetrieveResponse
27
+ from .....types.legacy.reporting.batch_detail_records.voice_retrieve_fields_response import VoiceRetrieveFieldsResponse
28
+
29
+ __all__ = ["VoiceResource", "AsyncVoiceResource"]
30
+
31
+
32
+ class VoiceResource(SyncAPIResource):
33
+ @cached_property
34
+ def with_raw_response(self) -> VoiceResourceWithRawResponse:
35
+ """
36
+ This property can be used as a prefix for any HTTP method call to return
37
+ the raw response object instead of the parsed content.
38
+
39
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
40
+ """
41
+ return VoiceResourceWithRawResponse(self)
42
+
43
+ @cached_property
44
+ def with_streaming_response(self) -> VoiceResourceWithStreamingResponse:
45
+ """
46
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
47
+
48
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
49
+ """
50
+ return VoiceResourceWithStreamingResponse(self)
51
+
52
+ def create(
53
+ self,
54
+ *,
55
+ end_time: Union[str, datetime],
56
+ start_time: Union[str, datetime],
57
+ call_types: Iterable[int] | Omit = omit,
58
+ connections: Iterable[int] | Omit = omit,
59
+ fields: SequenceNotStr[str] | Omit = omit,
60
+ filters: Iterable[FilterParam] | Omit = omit,
61
+ include_all_metadata: bool | Omit = omit,
62
+ managed_accounts: SequenceNotStr[str] | Omit = omit,
63
+ record_types: Iterable[int] | Omit = omit,
64
+ report_name: str | Omit = omit,
65
+ select_all_managed_accounts: bool | Omit = omit,
66
+ source: str | Omit = omit,
67
+ timezone: str | Omit = omit,
68
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
69
+ # The extra values given here take precedence over values defined on the client or passed to this method.
70
+ extra_headers: Headers | None = None,
71
+ extra_query: Query | None = None,
72
+ extra_body: Body | None = None,
73
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
74
+ ) -> VoiceCreateResponse:
75
+ """
76
+ Creates a new CDR report request with the specified filters
77
+
78
+ Args:
79
+ end_time: End time in ISO format
80
+
81
+ start_time: Start time in ISO format
82
+
83
+ call_types: List of call types to filter by (Inbound = 1, Outbound = 2)
84
+
85
+ connections: List of connections to filter by
86
+
87
+ fields: Set of fields to include in the report
88
+
89
+ filters: List of filters to apply
90
+
91
+ include_all_metadata: Whether to include all metadata
92
+
93
+ managed_accounts: List of managed accounts to include
94
+
95
+ record_types: List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)
96
+
97
+ report_name: Name of the report
98
+
99
+ select_all_managed_accounts: Whether to select all managed accounts
100
+
101
+ source: Source of the report. Valid values: calls (default), call-control, fax-api,
102
+ webrtc
103
+
104
+ timezone: Timezone for the report
105
+
106
+ extra_headers: Send extra headers
107
+
108
+ extra_query: Add additional query parameters to the request
109
+
110
+ extra_body: Add additional JSON properties to the request
111
+
112
+ timeout: Override the client-level default timeout for this request, in seconds
113
+ """
114
+ return self._post(
115
+ "/legacy/reporting/batch_detail_records/voice",
116
+ body=maybe_transform(
117
+ {
118
+ "end_time": end_time,
119
+ "start_time": start_time,
120
+ "call_types": call_types,
121
+ "connections": connections,
122
+ "fields": fields,
123
+ "filters": filters,
124
+ "include_all_metadata": include_all_metadata,
125
+ "managed_accounts": managed_accounts,
126
+ "record_types": record_types,
127
+ "report_name": report_name,
128
+ "select_all_managed_accounts": select_all_managed_accounts,
129
+ "source": source,
130
+ "timezone": timezone,
131
+ },
132
+ voice_create_params.VoiceCreateParams,
133
+ ),
134
+ options=make_request_options(
135
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
136
+ ),
137
+ cast_to=VoiceCreateResponse,
138
+ )
139
+
140
+ def retrieve(
141
+ self,
142
+ id: str,
143
+ *,
144
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
145
+ # The extra values given here take precedence over values defined on the client or passed to this method.
146
+ extra_headers: Headers | None = None,
147
+ extra_query: Query | None = None,
148
+ extra_body: Body | None = None,
149
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
150
+ ) -> VoiceRetrieveResponse:
151
+ """
152
+ Retrieves a specific CDR report request by ID
153
+
154
+ Args:
155
+ extra_headers: Send extra headers
156
+
157
+ extra_query: Add additional query parameters to the request
158
+
159
+ extra_body: Add additional JSON properties to the request
160
+
161
+ timeout: Override the client-level default timeout for this request, in seconds
162
+ """
163
+ if not id:
164
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
165
+ return self._get(
166
+ f"/legacy/reporting/batch_detail_records/voice/{id}",
167
+ options=make_request_options(
168
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
169
+ ),
170
+ cast_to=VoiceRetrieveResponse,
171
+ )
172
+
173
+ def list(
174
+ self,
175
+ *,
176
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
177
+ # The extra values given here take precedence over values defined on the client or passed to this method.
178
+ extra_headers: Headers | None = None,
179
+ extra_query: Query | None = None,
180
+ extra_body: Body | None = None,
181
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
182
+ ) -> VoiceListResponse:
183
+ """Retrieves all CDR report requests for the authenticated user"""
184
+ return self._get(
185
+ "/legacy/reporting/batch_detail_records/voice",
186
+ options=make_request_options(
187
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
188
+ ),
189
+ cast_to=VoiceListResponse,
190
+ )
191
+
192
+ def delete(
193
+ self,
194
+ id: str,
195
+ *,
196
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
197
+ # The extra values given here take precedence over values defined on the client or passed to this method.
198
+ extra_headers: Headers | None = None,
199
+ extra_query: Query | None = None,
200
+ extra_body: Body | None = None,
201
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
202
+ ) -> VoiceDeleteResponse:
203
+ """
204
+ Deletes a specific CDR report request by ID
205
+
206
+ Args:
207
+ extra_headers: Send extra headers
208
+
209
+ extra_query: Add additional query parameters to the request
210
+
211
+ extra_body: Add additional JSON properties to the request
212
+
213
+ timeout: Override the client-level default timeout for this request, in seconds
214
+ """
215
+ if not id:
216
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
217
+ return self._delete(
218
+ f"/legacy/reporting/batch_detail_records/voice/{id}",
219
+ options=make_request_options(
220
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
221
+ ),
222
+ cast_to=VoiceDeleteResponse,
223
+ )
224
+
225
+ def retrieve_fields(
226
+ self,
227
+ *,
228
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
229
+ # The extra values given here take precedence over values defined on the client or passed to this method.
230
+ extra_headers: Headers | None = None,
231
+ extra_query: Query | None = None,
232
+ extra_body: Body | None = None,
233
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
234
+ ) -> VoiceRetrieveFieldsResponse:
235
+ """Retrieves all available fields that can be used in CDR reports"""
236
+ return self._get(
237
+ "/legacy/reporting/batch_detail_records/voice/fields",
238
+ options=make_request_options(
239
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
240
+ ),
241
+ cast_to=VoiceRetrieveFieldsResponse,
242
+ )
243
+
244
+
245
+ class AsyncVoiceResource(AsyncAPIResource):
246
+ @cached_property
247
+ def with_raw_response(self) -> AsyncVoiceResourceWithRawResponse:
248
+ """
249
+ This property can be used as a prefix for any HTTP method call to return
250
+ the raw response object instead of the parsed content.
251
+
252
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
253
+ """
254
+ return AsyncVoiceResourceWithRawResponse(self)
255
+
256
+ @cached_property
257
+ def with_streaming_response(self) -> AsyncVoiceResourceWithStreamingResponse:
258
+ """
259
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
260
+
261
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
262
+ """
263
+ return AsyncVoiceResourceWithStreamingResponse(self)
264
+
265
+ async def create(
266
+ self,
267
+ *,
268
+ end_time: Union[str, datetime],
269
+ start_time: Union[str, datetime],
270
+ call_types: Iterable[int] | Omit = omit,
271
+ connections: Iterable[int] | Omit = omit,
272
+ fields: SequenceNotStr[str] | Omit = omit,
273
+ filters: Iterable[FilterParam] | Omit = omit,
274
+ include_all_metadata: bool | Omit = omit,
275
+ managed_accounts: SequenceNotStr[str] | Omit = omit,
276
+ record_types: Iterable[int] | Omit = omit,
277
+ report_name: str | Omit = omit,
278
+ select_all_managed_accounts: bool | Omit = omit,
279
+ source: str | Omit = omit,
280
+ timezone: str | Omit = omit,
281
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
282
+ # The extra values given here take precedence over values defined on the client or passed to this method.
283
+ extra_headers: Headers | None = None,
284
+ extra_query: Query | None = None,
285
+ extra_body: Body | None = None,
286
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
287
+ ) -> VoiceCreateResponse:
288
+ """
289
+ Creates a new CDR report request with the specified filters
290
+
291
+ Args:
292
+ end_time: End time in ISO format
293
+
294
+ start_time: Start time in ISO format
295
+
296
+ call_types: List of call types to filter by (Inbound = 1, Outbound = 2)
297
+
298
+ connections: List of connections to filter by
299
+
300
+ fields: Set of fields to include in the report
301
+
302
+ filters: List of filters to apply
303
+
304
+ include_all_metadata: Whether to include all metadata
305
+
306
+ managed_accounts: List of managed accounts to include
307
+
308
+ record_types: List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)
309
+
310
+ report_name: Name of the report
311
+
312
+ select_all_managed_accounts: Whether to select all managed accounts
313
+
314
+ source: Source of the report. Valid values: calls (default), call-control, fax-api,
315
+ webrtc
316
+
317
+ timezone: Timezone for the report
318
+
319
+ extra_headers: Send extra headers
320
+
321
+ extra_query: Add additional query parameters to the request
322
+
323
+ extra_body: Add additional JSON properties to the request
324
+
325
+ timeout: Override the client-level default timeout for this request, in seconds
326
+ """
327
+ return await self._post(
328
+ "/legacy/reporting/batch_detail_records/voice",
329
+ body=await async_maybe_transform(
330
+ {
331
+ "end_time": end_time,
332
+ "start_time": start_time,
333
+ "call_types": call_types,
334
+ "connections": connections,
335
+ "fields": fields,
336
+ "filters": filters,
337
+ "include_all_metadata": include_all_metadata,
338
+ "managed_accounts": managed_accounts,
339
+ "record_types": record_types,
340
+ "report_name": report_name,
341
+ "select_all_managed_accounts": select_all_managed_accounts,
342
+ "source": source,
343
+ "timezone": timezone,
344
+ },
345
+ voice_create_params.VoiceCreateParams,
346
+ ),
347
+ options=make_request_options(
348
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
349
+ ),
350
+ cast_to=VoiceCreateResponse,
351
+ )
352
+
353
+ async def retrieve(
354
+ self,
355
+ id: str,
356
+ *,
357
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
358
+ # The extra values given here take precedence over values defined on the client or passed to this method.
359
+ extra_headers: Headers | None = None,
360
+ extra_query: Query | None = None,
361
+ extra_body: Body | None = None,
362
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
363
+ ) -> VoiceRetrieveResponse:
364
+ """
365
+ Retrieves a specific CDR report request by ID
366
+
367
+ Args:
368
+ extra_headers: Send extra headers
369
+
370
+ extra_query: Add additional query parameters to the request
371
+
372
+ extra_body: Add additional JSON properties to the request
373
+
374
+ timeout: Override the client-level default timeout for this request, in seconds
375
+ """
376
+ if not id:
377
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
378
+ return await self._get(
379
+ f"/legacy/reporting/batch_detail_records/voice/{id}",
380
+ options=make_request_options(
381
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
382
+ ),
383
+ cast_to=VoiceRetrieveResponse,
384
+ )
385
+
386
+ async def list(
387
+ self,
388
+ *,
389
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
390
+ # The extra values given here take precedence over values defined on the client or passed to this method.
391
+ extra_headers: Headers | None = None,
392
+ extra_query: Query | None = None,
393
+ extra_body: Body | None = None,
394
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
395
+ ) -> VoiceListResponse:
396
+ """Retrieves all CDR report requests for the authenticated user"""
397
+ return await self._get(
398
+ "/legacy/reporting/batch_detail_records/voice",
399
+ options=make_request_options(
400
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
401
+ ),
402
+ cast_to=VoiceListResponse,
403
+ )
404
+
405
+ async def delete(
406
+ self,
407
+ id: str,
408
+ *,
409
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
410
+ # The extra values given here take precedence over values defined on the client or passed to this method.
411
+ extra_headers: Headers | None = None,
412
+ extra_query: Query | None = None,
413
+ extra_body: Body | None = None,
414
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
415
+ ) -> VoiceDeleteResponse:
416
+ """
417
+ Deletes a specific CDR report request by ID
418
+
419
+ Args:
420
+ extra_headers: Send extra headers
421
+
422
+ extra_query: Add additional query parameters to the request
423
+
424
+ extra_body: Add additional JSON properties to the request
425
+
426
+ timeout: Override the client-level default timeout for this request, in seconds
427
+ """
428
+ if not id:
429
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
430
+ return await self._delete(
431
+ f"/legacy/reporting/batch_detail_records/voice/{id}",
432
+ options=make_request_options(
433
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
434
+ ),
435
+ cast_to=VoiceDeleteResponse,
436
+ )
437
+
438
+ async def retrieve_fields(
439
+ self,
440
+ *,
441
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
442
+ # The extra values given here take precedence over values defined on the client or passed to this method.
443
+ extra_headers: Headers | None = None,
444
+ extra_query: Query | None = None,
445
+ extra_body: Body | None = None,
446
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
447
+ ) -> VoiceRetrieveFieldsResponse:
448
+ """Retrieves all available fields that can be used in CDR reports"""
449
+ return await self._get(
450
+ "/legacy/reporting/batch_detail_records/voice/fields",
451
+ options=make_request_options(
452
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
453
+ ),
454
+ cast_to=VoiceRetrieveFieldsResponse,
455
+ )
456
+
457
+
458
+ class VoiceResourceWithRawResponse:
459
+ def __init__(self, voice: VoiceResource) -> None:
460
+ self._voice = voice
461
+
462
+ self.create = to_raw_response_wrapper(
463
+ voice.create,
464
+ )
465
+ self.retrieve = to_raw_response_wrapper(
466
+ voice.retrieve,
467
+ )
468
+ self.list = to_raw_response_wrapper(
469
+ voice.list,
470
+ )
471
+ self.delete = to_raw_response_wrapper(
472
+ voice.delete,
473
+ )
474
+ self.retrieve_fields = to_raw_response_wrapper(
475
+ voice.retrieve_fields,
476
+ )
477
+
478
+
479
+ class AsyncVoiceResourceWithRawResponse:
480
+ def __init__(self, voice: AsyncVoiceResource) -> None:
481
+ self._voice = voice
482
+
483
+ self.create = async_to_raw_response_wrapper(
484
+ voice.create,
485
+ )
486
+ self.retrieve = async_to_raw_response_wrapper(
487
+ voice.retrieve,
488
+ )
489
+ self.list = async_to_raw_response_wrapper(
490
+ voice.list,
491
+ )
492
+ self.delete = async_to_raw_response_wrapper(
493
+ voice.delete,
494
+ )
495
+ self.retrieve_fields = async_to_raw_response_wrapper(
496
+ voice.retrieve_fields,
497
+ )
498
+
499
+
500
+ class VoiceResourceWithStreamingResponse:
501
+ def __init__(self, voice: VoiceResource) -> None:
502
+ self._voice = voice
503
+
504
+ self.create = to_streamed_response_wrapper(
505
+ voice.create,
506
+ )
507
+ self.retrieve = to_streamed_response_wrapper(
508
+ voice.retrieve,
509
+ )
510
+ self.list = to_streamed_response_wrapper(
511
+ voice.list,
512
+ )
513
+ self.delete = to_streamed_response_wrapper(
514
+ voice.delete,
515
+ )
516
+ self.retrieve_fields = to_streamed_response_wrapper(
517
+ voice.retrieve_fields,
518
+ )
519
+
520
+
521
+ class AsyncVoiceResourceWithStreamingResponse:
522
+ def __init__(self, voice: AsyncVoiceResource) -> None:
523
+ self._voice = voice
524
+
525
+ self.create = async_to_streamed_response_wrapper(
526
+ voice.create,
527
+ )
528
+ self.retrieve = async_to_streamed_response_wrapper(
529
+ voice.retrieve,
530
+ )
531
+ self.list = async_to_streamed_response_wrapper(
532
+ voice.list,
533
+ )
534
+ self.delete = async_to_streamed_response_wrapper(
535
+ voice.delete,
536
+ )
537
+ self.retrieve_fields = async_to_streamed_response_wrapper(
538
+ voice.retrieve_fields,
539
+ )
@@ -0,0 +1,134 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from ...._compat import cached_property
6
+ from ...._resource import SyncAPIResource, AsyncAPIResource
7
+ from .usage_reports.usage_reports import (
8
+ UsageReportsResource,
9
+ AsyncUsageReportsResource,
10
+ UsageReportsResourceWithRawResponse,
11
+ AsyncUsageReportsResourceWithRawResponse,
12
+ UsageReportsResourceWithStreamingResponse,
13
+ AsyncUsageReportsResourceWithStreamingResponse,
14
+ )
15
+ from .batch_detail_records.batch_detail_records import (
16
+ BatchDetailRecordsResource,
17
+ AsyncBatchDetailRecordsResource,
18
+ BatchDetailRecordsResourceWithRawResponse,
19
+ AsyncBatchDetailRecordsResourceWithRawResponse,
20
+ BatchDetailRecordsResourceWithStreamingResponse,
21
+ AsyncBatchDetailRecordsResourceWithStreamingResponse,
22
+ )
23
+
24
+ __all__ = ["ReportingResource", "AsyncReportingResource"]
25
+
26
+
27
+ class ReportingResource(SyncAPIResource):
28
+ @cached_property
29
+ def batch_detail_records(self) -> BatchDetailRecordsResource:
30
+ return BatchDetailRecordsResource(self._client)
31
+
32
+ @cached_property
33
+ def usage_reports(self) -> UsageReportsResource:
34
+ return UsageReportsResource(self._client)
35
+
36
+ @cached_property
37
+ def with_raw_response(self) -> ReportingResourceWithRawResponse:
38
+ """
39
+ This property can be used as a prefix for any HTTP method call to return
40
+ the raw response object instead of the parsed content.
41
+
42
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
43
+ """
44
+ return ReportingResourceWithRawResponse(self)
45
+
46
+ @cached_property
47
+ def with_streaming_response(self) -> ReportingResourceWithStreamingResponse:
48
+ """
49
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
50
+
51
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
52
+ """
53
+ return ReportingResourceWithStreamingResponse(self)
54
+
55
+
56
+ class AsyncReportingResource(AsyncAPIResource):
57
+ @cached_property
58
+ def batch_detail_records(self) -> AsyncBatchDetailRecordsResource:
59
+ return AsyncBatchDetailRecordsResource(self._client)
60
+
61
+ @cached_property
62
+ def usage_reports(self) -> AsyncUsageReportsResource:
63
+ return AsyncUsageReportsResource(self._client)
64
+
65
+ @cached_property
66
+ def with_raw_response(self) -> AsyncReportingResourceWithRawResponse:
67
+ """
68
+ This property can be used as a prefix for any HTTP method call to return
69
+ the raw response object instead of the parsed content.
70
+
71
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
72
+ """
73
+ return AsyncReportingResourceWithRawResponse(self)
74
+
75
+ @cached_property
76
+ def with_streaming_response(self) -> AsyncReportingResourceWithStreamingResponse:
77
+ """
78
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
79
+
80
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
81
+ """
82
+ return AsyncReportingResourceWithStreamingResponse(self)
83
+
84
+
85
+ class ReportingResourceWithRawResponse:
86
+ def __init__(self, reporting: ReportingResource) -> None:
87
+ self._reporting = reporting
88
+
89
+ @cached_property
90
+ def batch_detail_records(self) -> BatchDetailRecordsResourceWithRawResponse:
91
+ return BatchDetailRecordsResourceWithRawResponse(self._reporting.batch_detail_records)
92
+
93
+ @cached_property
94
+ def usage_reports(self) -> UsageReportsResourceWithRawResponse:
95
+ return UsageReportsResourceWithRawResponse(self._reporting.usage_reports)
96
+
97
+
98
+ class AsyncReportingResourceWithRawResponse:
99
+ def __init__(self, reporting: AsyncReportingResource) -> None:
100
+ self._reporting = reporting
101
+
102
+ @cached_property
103
+ def batch_detail_records(self) -> AsyncBatchDetailRecordsResourceWithRawResponse:
104
+ return AsyncBatchDetailRecordsResourceWithRawResponse(self._reporting.batch_detail_records)
105
+
106
+ @cached_property
107
+ def usage_reports(self) -> AsyncUsageReportsResourceWithRawResponse:
108
+ return AsyncUsageReportsResourceWithRawResponse(self._reporting.usage_reports)
109
+
110
+
111
+ class ReportingResourceWithStreamingResponse:
112
+ def __init__(self, reporting: ReportingResource) -> None:
113
+ self._reporting = reporting
114
+
115
+ @cached_property
116
+ def batch_detail_records(self) -> BatchDetailRecordsResourceWithStreamingResponse:
117
+ return BatchDetailRecordsResourceWithStreamingResponse(self._reporting.batch_detail_records)
118
+
119
+ @cached_property
120
+ def usage_reports(self) -> UsageReportsResourceWithStreamingResponse:
121
+ return UsageReportsResourceWithStreamingResponse(self._reporting.usage_reports)
122
+
123
+
124
+ class AsyncReportingResourceWithStreamingResponse:
125
+ def __init__(self, reporting: AsyncReportingResource) -> None:
126
+ self._reporting = reporting
127
+
128
+ @cached_property
129
+ def batch_detail_records(self) -> AsyncBatchDetailRecordsResourceWithStreamingResponse:
130
+ return AsyncBatchDetailRecordsResourceWithStreamingResponse(self._reporting.batch_detail_records)
131
+
132
+ @cached_property
133
+ def usage_reports(self) -> AsyncUsageReportsResourceWithStreamingResponse:
134
+ return AsyncUsageReportsResourceWithStreamingResponse(self._reporting.usage_reports)