telnyx 3.1.0a0__py3-none-any.whl → 3.2.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 (564) hide show
  1. telnyx/__init__.py +3 -1
  2. telnyx/_base_client.py +12 -12
  3. telnyx/_client.py +68 -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 +73 -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 +695 -697
  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 +124 -43
  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 +76 -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 +145 -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 +123 -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/webhooks.py +34 -0
  271. telnyx/resources/well_known.py +198 -0
  272. telnyx/resources/wireguard_interfaces.py +17 -17
  273. telnyx/resources/wireguard_peers.py +21 -21
  274. telnyx/resources/wireless/detail_records_reports.py +17 -17
  275. telnyx/resources/wireless/wireless.py +3 -3
  276. telnyx/resources/wireless_blocklist_values.py +3 -3
  277. telnyx/resources/wireless_blocklists.py +29 -30
  278. telnyx/types/__init__.py +167 -13
  279. telnyx/types/actions/purchase_create_params.py +3 -2
  280. telnyx/types/actions/register_create_params.py +4 -3
  281. telnyx/types/addresses/action_validate_response.py +8 -3
  282. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  283. telnyx/types/ai/__init__.py +1 -0
  284. telnyx/types/ai/chat_create_completion_params.py +3 -2
  285. telnyx/types/ai/cluster_compute_params.py +3 -2
  286. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  287. telnyx/types/ai/conversations/__init__.py +0 -1
  288. telnyx/types/ai/embedding_list_params.py +3 -2
  289. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  290. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  291. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  292. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  293. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  294. telnyx/types/ai/voice_settings.py +49 -2
  295. telnyx/types/ai/voice_settings_param.py +49 -2
  296. telnyx/types/brand_create_params.py +2 -1
  297. telnyx/types/brand_update_params.py +2 -1
  298. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  299. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  300. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  301. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  302. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  303. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  304. telnyx/types/call_answered_webhook_event.py +75 -0
  305. telnyx/types/call_bridged_webhook_event.py +58 -0
  306. telnyx/types/call_control_application_update_params.py +3 -2
  307. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  308. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  309. telnyx/types/call_dial_params.py +14 -6
  310. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  311. telnyx/types/call_enqueued_webhook_event.py +59 -0
  312. telnyx/types/call_fork_started_webhook_event.py +53 -0
  313. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  314. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  315. telnyx/types/call_hangup_webhook_event.py +150 -0
  316. telnyx/types/call_initiated_webhook_event.py +96 -0
  317. telnyx/types/call_left_queue_webhook_event.py +62 -0
  318. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  319. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  320. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  321. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  322. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  323. telnyx/types/call_playback_started_webhook_event.py +62 -0
  324. telnyx/types/call_recording_error_webhook_event.py +60 -0
  325. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  326. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  327. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  328. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  329. telnyx/types/call_refer_started_webhook_event.py +61 -0
  330. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  331. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  332. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  333. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  334. telnyx/types/call_speak_started_webhook_event.py +50 -0
  335. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  336. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  337. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  338. telnyx/types/calls/action_answer_params.py +1 -2
  339. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  340. telnyx/types/calls/action_start_streaming_params.py +4 -2
  341. telnyx/types/calls/action_transfer_params.py +50 -0
  342. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  343. telnyx/types/campaign_builder_create_params.py +4 -3
  344. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  345. telnyx/types/campaign_submit_appeal_response.py +0 -3
  346. telnyx/types/conference_created_webhook_event.py +53 -0
  347. telnyx/types/conference_ended_webhook_event.py +56 -0
  348. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  349. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  350. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  351. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  352. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  353. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  354. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  355. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  356. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  357. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  358. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  359. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  360. telnyx/types/conferences/action_hold_params.py +3 -2
  361. telnyx/types/conferences/action_join_params.py +3 -2
  362. telnyx/types/conferences/action_mute_params.py +3 -2
  363. telnyx/types/conferences/action_play_params.py +2 -2
  364. telnyx/types/conferences/action_speak_params.py +3 -2
  365. telnyx/types/conferences/action_stop_params.py +3 -2
  366. telnyx/types/conferences/action_unhold_params.py +3 -2
  367. telnyx/types/conferences/action_unmute_params.py +3 -2
  368. telnyx/types/conferences/action_update_params.py +3 -2
  369. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  370. telnyx/types/country_coverage_retrieve_response.py +7 -0
  371. telnyx/types/credential_connection_create_params.py +3 -2
  372. telnyx/types/credential_connection_update_params.py +3 -2
  373. telnyx/types/credential_inbound_param.py +3 -2
  374. telnyx/types/custom_sip_header.py +13 -0
  375. telnyx/types/customer_service_record_list_params.py +2 -1
  376. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  377. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  378. telnyx/types/delivery_update_webhook_event.py +40 -0
  379. telnyx/types/detail_record_list_params.py +4 -2
  380. telnyx/types/document_generate_download_link_response.py +14 -0
  381. telnyx/types/document_list_params.py +2 -1
  382. telnyx/types/external_connection_create_params.py +4 -2
  383. telnyx/types/external_connection_update_params.py +4 -2
  384. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  385. telnyx/types/external_connections/upload_create_params.py +3 -1
  386. telnyx/types/fax_application_create_params.py +3 -2
  387. telnyx/types/fax_application_update_params.py +3 -2
  388. telnyx/types/fax_delivered_webhook_event.py +69 -0
  389. telnyx/types/fax_failed_webhook_event.py +66 -0
  390. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  391. telnyx/types/fax_queued_webhook_event.py +63 -0
  392. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  393. telnyx/types/fqdn_connection_create_params.py +3 -2
  394. telnyx/types/fqdn_connection_update_params.py +3 -2
  395. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  396. telnyx/types/inbound_fqdn_param.py +4 -2
  397. telnyx/types/inbound_ip_param.py +3 -2
  398. telnyx/types/inbound_message_webhook_event.py +227 -0
  399. telnyx/types/ip_connection_create_params.py +4 -3
  400. telnyx/types/ip_connection_update_params.py +3 -2
  401. telnyx/types/legacy/__init__.py +3 -0
  402. telnyx/types/legacy/reporting/__init__.py +12 -0
  403. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  421. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  422. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  423. telnyx/types/legacy/reporting/filter.py +31 -0
  424. telnyx/types/legacy/reporting/filter_param.py +30 -0
  425. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  426. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  427. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  428. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  429. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  430. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  431. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  432. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  433. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  434. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  435. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  436. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  437. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  438. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  439. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  440. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  441. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  442. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  443. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  444. telnyx/types/media_list_params.py +3 -2
  445. telnyx/types/message_schedule_params.py +3 -2
  446. telnyx/types/message_send_group_mms_params.py +3 -3
  447. telnyx/types/message_send_long_code_params.py +2 -2
  448. telnyx/types/message_send_number_pool_params.py +3 -2
  449. telnyx/types/message_send_params.py +3 -2
  450. telnyx/types/message_send_short_code_params.py +2 -2
  451. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  452. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  453. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  454. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  455. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  456. telnyx/types/messaging_profile_create_params.py +3 -2
  457. telnyx/types/messaging_profile_update_params.py +3 -2
  458. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  459. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  460. telnyx/types/messsage_rcs_params.py +2 -2
  461. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  462. telnyx/types/numbers_feature_create_params.py +3 -2
  463. telnyx/types/oauth_client.py +59 -0
  464. telnyx/types/oauth_client_create_params.py +39 -0
  465. telnyx/types/oauth_client_create_response.py +12 -0
  466. telnyx/types/oauth_client_list_params.py +38 -0
  467. telnyx/types/oauth_client_list_response.py +28 -0
  468. telnyx/types/oauth_client_retrieve_response.py +12 -0
  469. telnyx/types/oauth_client_update_params.py +36 -0
  470. telnyx/types/oauth_client_update_response.py +12 -0
  471. telnyx/types/oauth_grant.py +29 -0
  472. telnyx/types/oauth_grant_delete_response.py +12 -0
  473. telnyx/types/oauth_grant_list_params.py +17 -0
  474. telnyx/types/oauth_grant_list_response.py +28 -0
  475. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  476. telnyx/types/oauth_grants_params.py +15 -0
  477. telnyx/types/oauth_grants_response.py +10 -0
  478. telnyx/types/oauth_introspect_params.py +12 -0
  479. telnyx/types/oauth_introspect_response.py +30 -0
  480. telnyx/types/oauth_register_params.py +39 -0
  481. telnyx/types/oauth_register_response.py +45 -0
  482. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  483. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  484. telnyx/types/oauth_retrieve_response.py +47 -0
  485. telnyx/types/oauth_token_params.py +33 -0
  486. telnyx/types/oauth_token_response.py +25 -0
  487. telnyx/types/outbound_call_recording_param.py +3 -2
  488. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  489. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  490. telnyx/types/phone_number_delete_response.py +7 -0
  491. telnyx/types/phone_number_detailed.py +7 -0
  492. telnyx/types/phone_number_list_params.py +9 -2
  493. telnyx/types/phone_number_slim_list_params.py +3 -2
  494. telnyx/types/phone_number_update_params.py +3 -2
  495. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  496. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  497. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  498. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  499. telnyx/types/portability_check_run_params.py +3 -2
  500. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  501. telnyx/types/porting_order.py +3 -0
  502. telnyx/types/porting_order_create_params.py +6 -2
  503. telnyx/types/porting_order_list_params.py +52 -31
  504. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  505. telnyx/types/porting_order_update_params.py +2 -0
  506. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  507. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  508. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  509. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  510. telnyx/types/portout_list_params.py +2 -1
  511. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  512. telnyx/types/recordings/action_delete_params.py +3 -2
  513. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  514. telnyx/types/report_list_wdrs_params.py +3 -2
  515. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  516. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  517. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  518. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  519. telnyx/types/shared/__init__.py +1 -0
  520. telnyx/types/{error.py → shared/api_error.py} +3 -3
  521. telnyx/types/shared/simple_sim_card.py +15 -0
  522. telnyx/types/sim_card.py +12 -0
  523. telnyx/types/sim_card_list_params.py +2 -1
  524. telnyx/types/sim_card_update_params.py +4 -3
  525. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  526. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  527. telnyx/types/sip_header.py +15 -0
  528. telnyx/types/stream_bidirectional_codec.py +1 -1
  529. telnyx/types/stream_codec.py +1 -1
  530. telnyx/types/streaming_failed_webhook_event.py +70 -0
  531. telnyx/types/streaming_started_webhook_event.py +53 -0
  532. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  533. telnyx/types/texml_application_create_params.py +2 -2
  534. telnyx/types/texml_application_update_params.py +2 -2
  535. telnyx/types/transcription_webhook_event.py +72 -0
  536. telnyx/types/unwrap_webhook_event.py +138 -0
  537. telnyx/types/usage_report_list_params.py +5 -4
  538. telnyx/types/verification_trigger_call_params.py +7 -0
  539. telnyx/types/verified_number_create_params.py +10 -0
  540. telnyx/types/verify_profile.py +18 -3
  541. telnyx/types/verify_profile_create_params.py +6 -4
  542. telnyx/types/verify_profile_create_template_params.py +12 -0
  543. telnyx/types/verify_profile_create_template_response.py +12 -0
  544. telnyx/types/verify_profile_message_template_response.py +13 -0
  545. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  546. telnyx/types/verify_profile_update_params.py +6 -4
  547. telnyx/types/verify_profile_update_template_params.py +12 -0
  548. telnyx/types/verify_profile_update_template_response.py +12 -0
  549. telnyx/types/video_region_param.py +4 -2
  550. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  551. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  552. telnyx/types/wireless_blocklist_create_params.py +3 -2
  553. telnyx/types/wireless_blocklist_update_params.py +3 -2
  554. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/METADATA +60 -19
  555. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/RECORD +557 -401
  556. telnyx/types/client_create_bucket_params.py +0 -13
  557. telnyx/types/client_delete_objects_params.py +0 -20
  558. telnyx/types/client_get_object_params.py +0 -15
  559. telnyx/types/client_list_objects_params.py +0 -13
  560. telnyx/types/client_put_object_params.py +0 -20
  561. telnyx/types/list_buckets_response.py +0 -20
  562. telnyx/types/list_objects_response.py +0 -24
  563. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/WHEEL +0 -0
  564. {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .number_pool_settings_param import NumberPoolSettingsParam
9
10
  from .url_shortener_settings_param import URLShortenerSettingsParam
10
11
 
@@ -77,7 +78,7 @@ class MessagingProfileUpdateParams(TypedDict, total=False):
77
78
  webhook_url: Optional[str]
78
79
  """The URL where webhooks related to this messaging profile will be sent."""
79
80
 
80
- whitelisted_destinations: List[str]
81
+ whitelisted_destinations: SequenceNotStr[str]
81
82
  """Destinations to which the messaging profile is allowed to send.
82
83
 
83
84
  The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set
@@ -2,16 +2,17 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["AutorespConfigCreateParams"]
9
10
 
10
11
 
11
12
  class AutorespConfigCreateParams(TypedDict, total=False):
12
13
  country_code: Required[str]
13
14
 
14
- keywords: Required[List[str]]
15
+ keywords: Required[SequenceNotStr[str]]
15
16
 
16
17
  op: Required[Literal["start", "stop", "info"]]
17
18
 
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["AutorespConfigUpdateParams"]
9
10
 
10
11
 
@@ -13,7 +14,7 @@ class AutorespConfigUpdateParams(TypedDict, total=False):
13
14
 
14
15
  country_code: Required[str]
15
16
 
16
- keywords: Required[List[str]]
17
+ keywords: Required[SequenceNotStr[str]]
17
18
 
18
19
  op: Required[Literal["start", "stop", "info"]]
19
20
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
8
  from .rcs_agent_message_param import RcsAgentMessageParam
9
9
 
10
10
  __all__ = ["MesssageRcsParams", "MmsFallback", "SMSFallback"]
@@ -43,7 +43,7 @@ _MmsFallbackReservedKeywords = TypedDict(
43
43
 
44
44
 
45
45
  class MmsFallback(_MmsFallbackReservedKeywords, total=False):
46
- media_urls: List[str]
46
+ media_urls: SequenceNotStr[str]
47
47
  """List of media URLs"""
48
48
 
49
49
  subject: str
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+
5
+ from .._models import BaseModel
6
+ from .number_order_with_phone_numbers import NumberOrderWithPhoneNumbers
7
+
8
+ __all__ = ["NumberOrderStatusUpdateWebhookEvent", "Data", "Meta"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ id: str
13
+ """Unique identifier for the event"""
14
+
15
+ event_type: str
16
+ """The type of event being sent"""
17
+
18
+ occurred_at: datetime
19
+ """ISO 8601 timestamp of when the event occurred"""
20
+
21
+ payload: NumberOrderWithPhoneNumbers
22
+
23
+ record_type: str
24
+ """Type of record"""
25
+
26
+
27
+ class Meta(BaseModel):
28
+ attempt: int
29
+ """Webhook delivery attempt number"""
30
+
31
+ delivered_to: str
32
+ """URL where the webhook was delivered"""
33
+
34
+
35
+ class NumberOrderStatusUpdateWebhookEvent(BaseModel):
36
+ data: Data
37
+
38
+ meta: Meta
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
+
8
9
  __all__ = ["NumbersFeatureCreateParams"]
9
10
 
10
11
 
11
12
  class NumbersFeatureCreateParams(TypedDict, total=False):
12
- phone_numbers: Required[List[str]]
13
+ phone_numbers: Required[SequenceNotStr[str]]
@@ -0,0 +1,59 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["OAuthClient"]
10
+
11
+
12
+ class OAuthClient(BaseModel):
13
+ client_id: str
14
+ """OAuth client identifier"""
15
+
16
+ client_type: Literal["public", "confidential"]
17
+ """OAuth client type"""
18
+
19
+ created_at: datetime
20
+ """Timestamp when the client was created"""
21
+
22
+ name: str
23
+ """Human-readable name for the OAuth client"""
24
+
25
+ org_id: str
26
+ """Organization ID that owns this OAuth client"""
27
+
28
+ record_type: Literal["oauth_client"]
29
+ """Record type identifier"""
30
+
31
+ require_pkce: bool
32
+ """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
+
34
+ updated_at: datetime
35
+ """Timestamp when the client was last updated"""
36
+
37
+ user_id: str
38
+ """User ID that created this OAuth client"""
39
+
40
+ allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
+ """List of allowed OAuth grant types"""
42
+
43
+ allowed_scopes: Optional[List[str]] = None
44
+ """List of allowed OAuth scopes"""
45
+
46
+ client_secret: Optional[str] = None
47
+ """Client secret (only included when available, for confidential clients)"""
48
+
49
+ logo_uri: Optional[str] = None
50
+ """URL of the client logo"""
51
+
52
+ policy_uri: Optional[str] = None
53
+ """URL of the client's privacy policy"""
54
+
55
+ redirect_uris: Optional[List[str]] = None
56
+ """List of allowed redirect URIs"""
57
+
58
+ tos_uri: Optional[str] = None
59
+ """URL of the client's terms of service"""
@@ -0,0 +1,39 @@
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 List
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+
10
+ __all__ = ["OAuthClientCreateParams"]
11
+
12
+
13
+ class OAuthClientCreateParams(TypedDict, total=False):
14
+ allowed_grant_types: Required[List[Literal["client_credentials", "authorization_code", "refresh_token"]]]
15
+ """List of allowed OAuth grant types"""
16
+
17
+ allowed_scopes: Required[SequenceNotStr[str]]
18
+ """List of allowed OAuth scopes"""
19
+
20
+ client_type: Required[Literal["public", "confidential"]]
21
+ """OAuth client type"""
22
+
23
+ name: Required[str]
24
+ """The name of the OAuth client"""
25
+
26
+ logo_uri: str
27
+ """URL of the client logo"""
28
+
29
+ policy_uri: str
30
+ """URL of the client's privacy policy"""
31
+
32
+ redirect_uris: SequenceNotStr[str]
33
+ """List of redirect URIs (required for authorization_code flow)"""
34
+
35
+ require_pkce: bool
36
+ """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
37
+
38
+ tos_uri: str
39
+ """URL of the client's terms of service"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
7
+
8
+ __all__ = ["OAuthClientCreateResponse"]
9
+
10
+
11
+ class OAuthClientCreateResponse(BaseModel):
12
+ data: Optional[OAuthClient] = None
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Annotated, TypedDict
6
+
7
+ from .._utils import PropertyInfo
8
+
9
+ __all__ = ["OAuthClientListParams"]
10
+
11
+
12
+ class OAuthClientListParams(TypedDict, total=False):
13
+ filter_allowed_grant_types_contains: Annotated[
14
+ Literal["client_credentials", "authorization_code", "refresh_token"],
15
+ PropertyInfo(alias="filter[allowed_grant_types][contains]"),
16
+ ]
17
+ """Filter by allowed grant type"""
18
+
19
+ filter_client_id: Annotated[str, PropertyInfo(alias="filter[client_id]")]
20
+ """Filter by client ID"""
21
+
22
+ filter_client_type: Annotated[Literal["confidential", "public"], PropertyInfo(alias="filter[client_type]")]
23
+ """Filter by client type"""
24
+
25
+ filter_name: Annotated[str, PropertyInfo(alias="filter[name]")]
26
+ """Filter by exact client name"""
27
+
28
+ filter_name_contains: Annotated[str, PropertyInfo(alias="filter[name][contains]")]
29
+ """Filter by client name containing text"""
30
+
31
+ filter_verified: Annotated[bool, PropertyInfo(alias="filter[verified]")]
32
+ """Filter by verification status"""
33
+
34
+ page_number: Annotated[int, PropertyInfo(alias="page[number]")]
35
+ """Page number"""
36
+
37
+ page_size: Annotated[int, PropertyInfo(alias="page[size]")]
38
+ """Number of results per page"""
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
7
+
8
+ __all__ = ["OAuthClientListResponse", "Meta"]
9
+
10
+
11
+ class Meta(BaseModel):
12
+ page_number: Optional[int] = None
13
+ """Current page number"""
14
+
15
+ page_size: Optional[int] = None
16
+ """Number of items per page"""
17
+
18
+ total_pages: Optional[int] = None
19
+ """Total number of pages"""
20
+
21
+ total_results: Optional[int] = None
22
+ """Total number of results"""
23
+
24
+
25
+ class OAuthClientListResponse(BaseModel):
26
+ data: Optional[List[OAuthClient]] = None
27
+
28
+ meta: Optional[Meta] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
7
+
8
+ __all__ = ["OAuthClientRetrieveResponse"]
9
+
10
+
11
+ class OAuthClientRetrieveResponse(BaseModel):
12
+ data: Optional[OAuthClient] = None
@@ -0,0 +1,36 @@
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 List
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+
10
+ __all__ = ["OAuthClientUpdateParams"]
11
+
12
+
13
+ class OAuthClientUpdateParams(TypedDict, total=False):
14
+ allowed_grant_types: List[Literal["client_credentials", "authorization_code", "refresh_token"]]
15
+ """List of allowed OAuth grant types"""
16
+
17
+ allowed_scopes: SequenceNotStr[str]
18
+ """List of allowed OAuth scopes"""
19
+
20
+ logo_uri: str
21
+ """URL of the client logo"""
22
+
23
+ name: str
24
+ """The name of the OAuth client"""
25
+
26
+ policy_uri: str
27
+ """URL of the client's privacy policy"""
28
+
29
+ redirect_uris: SequenceNotStr[str]
30
+ """List of redirect URIs"""
31
+
32
+ require_pkce: bool
33
+ """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
34
+
35
+ tos_uri: str
36
+ """URL of the client's terms of service"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
7
+
8
+ __all__ = ["OAuthClientUpdateResponse"]
9
+
10
+
11
+ class OAuthClientUpdateResponse(BaseModel):
12
+ data: Optional[OAuthClient] = None
@@ -0,0 +1,29 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["OAuthGrant"]
10
+
11
+
12
+ class OAuthGrant(BaseModel):
13
+ id: str
14
+ """Unique identifier for the OAuth grant"""
15
+
16
+ client_id: str
17
+ """OAuth client identifier"""
18
+
19
+ created_at: datetime
20
+ """Timestamp when the grant was created"""
21
+
22
+ record_type: Literal["oauth_grant"]
23
+ """Record type identifier"""
24
+
25
+ scopes: List[str]
26
+ """List of granted OAuth scopes"""
27
+
28
+ last_used_at: Optional[datetime] = None
29
+ """Timestamp when the grant was last used"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_grant import OAuthGrant
7
+
8
+ __all__ = ["OAuthGrantDeleteResponse"]
9
+
10
+
11
+ class OAuthGrantDeleteResponse(BaseModel):
12
+ data: Optional[OAuthGrant] = None
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Annotated, TypedDict
6
+
7
+ from .._utils import PropertyInfo
8
+
9
+ __all__ = ["OAuthGrantListParams"]
10
+
11
+
12
+ class OAuthGrantListParams(TypedDict, total=False):
13
+ page_number: Annotated[int, PropertyInfo(alias="page[number]")]
14
+ """Page number"""
15
+
16
+ page_size: Annotated[int, PropertyInfo(alias="page[size]")]
17
+ """Number of results per page"""
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_grant import OAuthGrant
7
+
8
+ __all__ = ["OAuthGrantListResponse", "Meta"]
9
+
10
+
11
+ class Meta(BaseModel):
12
+ page_number: Optional[int] = None
13
+ """Current page number"""
14
+
15
+ page_size: Optional[int] = None
16
+ """Number of items per page"""
17
+
18
+ total_pages: Optional[int] = None
19
+ """Total number of pages"""
20
+
21
+ total_results: Optional[int] = None
22
+ """Total number of results"""
23
+
24
+
25
+ class OAuthGrantListResponse(BaseModel):
26
+ data: Optional[List[OAuthGrant]] = None
27
+
28
+ meta: Optional[Meta] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .oauth_grant import OAuthGrant
7
+
8
+ __all__ = ["OAuthGrantRetrieveResponse"]
9
+
10
+
11
+ class OAuthGrantRetrieveResponse(BaseModel):
12
+ data: Optional[OAuthGrant] = None
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["OAuthGrantsParams"]
8
+
9
+
10
+ class OAuthGrantsParams(TypedDict, total=False):
11
+ allowed: Required[bool]
12
+ """Whether the grant is allowed"""
13
+
14
+ consent_token: Required[str]
15
+ """Consent token"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .._models import BaseModel
4
+
5
+ __all__ = ["OAuthGrantsResponse"]
6
+
7
+
8
+ class OAuthGrantsResponse(BaseModel):
9
+ redirect_uri: str
10
+ """Redirect URI with authorization code or error"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["OAuthIntrospectParams"]
8
+
9
+
10
+ class OAuthIntrospectParams(TypedDict, total=False):
11
+ token: Required[str]
12
+ """The token to introspect"""
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["OAuthIntrospectResponse"]
8
+
9
+
10
+ class OAuthIntrospectResponse(BaseModel):
11
+ active: bool
12
+ """Whether the token is active"""
13
+
14
+ aud: Optional[str] = None
15
+ """Audience"""
16
+
17
+ client_id: Optional[str] = None
18
+ """Client identifier"""
19
+
20
+ exp: Optional[int] = None
21
+ """Expiration timestamp"""
22
+
23
+ iat: Optional[int] = None
24
+ """Issued at timestamp"""
25
+
26
+ iss: Optional[str] = None
27
+ """Issuer"""
28
+
29
+ scope: Optional[str] = None
30
+ """Space-separated list of scopes"""
@@ -0,0 +1,39 @@
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 List
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+
10
+ __all__ = ["OAuthRegisterParams"]
11
+
12
+
13
+ class OAuthRegisterParams(TypedDict, total=False):
14
+ client_name: str
15
+ """Human-readable string name of the client to be presented to the end-user"""
16
+
17
+ grant_types: List[Literal["authorization_code", "client_credentials", "refresh_token"]]
18
+ """Array of OAuth 2.0 grant type strings that the client may use"""
19
+
20
+ logo_uri: str
21
+ """URL of the client logo"""
22
+
23
+ policy_uri: str
24
+ """URL of the client's privacy policy"""
25
+
26
+ redirect_uris: SequenceNotStr[str]
27
+ """Array of redirection URI strings for use in redirect-based flows"""
28
+
29
+ response_types: SequenceNotStr[str]
30
+ """Array of the OAuth 2.0 response type strings that the client may use"""
31
+
32
+ scope: str
33
+ """Space-separated string of scope values that the client may use"""
34
+
35
+ token_endpoint_auth_method: Literal["none", "client_secret_basic", "client_secret_post"]
36
+ """Authentication method for the token endpoint"""
37
+
38
+ tos_uri: str
39
+ """URL of the client's terms of service"""
@@ -0,0 +1,45 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["OAuthRegisterResponse"]
8
+
9
+
10
+ class OAuthRegisterResponse(BaseModel):
11
+ client_id: str
12
+ """Unique client identifier"""
13
+
14
+ client_id_issued_at: int
15
+ """Unix timestamp of when the client ID was issued"""
16
+
17
+ client_name: Optional[str] = None
18
+ """Human-readable client name"""
19
+
20
+ client_secret: Optional[str] = None
21
+ """Client secret (only for confidential clients)"""
22
+
23
+ grant_types: Optional[List[str]] = None
24
+ """Array of allowed grant types"""
25
+
26
+ logo_uri: Optional[str] = None
27
+ """URL of the client logo"""
28
+
29
+ policy_uri: Optional[str] = None
30
+ """URL of the client's privacy policy"""
31
+
32
+ redirect_uris: Optional[List[str]] = None
33
+ """Array of redirection URIs"""
34
+
35
+ response_types: Optional[List[str]] = None
36
+ """Array of allowed response types"""
37
+
38
+ scope: Optional[str] = None
39
+ """Space-separated scope values"""
40
+
41
+ token_endpoint_auth_method: Optional[str] = None
42
+ """Token endpoint authentication method"""
43
+
44
+ tos_uri: Optional[str] = None
45
+ """URL of the client's terms of service"""