telnyx 3.0.0a0__py3-none-any.whl → 3.1.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 (552) 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 +51 -45
  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 +154 -24
  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 +481 -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 +538 -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 +857 -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 +25 -23
  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 +159 -11
  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 +6 -1
  282. telnyx/types/advanced_order_create_params.py +3 -0
  283. telnyx/types/advanced_order_update_params.py +27 -0
  284. telnyx/types/ai/__init__.py +1 -0
  285. telnyx/types/ai/chat_create_completion_params.py +3 -2
  286. telnyx/types/ai/cluster_compute_params.py +3 -2
  287. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  288. telnyx/types/ai/conversations/__init__.py +0 -1
  289. telnyx/types/ai/embedding_list_params.py +3 -2
  290. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  291. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  292. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  293. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  294. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  295. telnyx/types/ai/voice_settings.py +49 -2
  296. telnyx/types/ai/voice_settings_param.py +49 -2
  297. telnyx/types/brand_create_params.py +2 -1
  298. telnyx/types/brand_update_params.py +2 -1
  299. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  300. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  301. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  302. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  303. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  304. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  305. telnyx/types/call_answered_webhook_event.py +75 -0
  306. telnyx/types/call_bridged_webhook_event.py +58 -0
  307. telnyx/types/call_control_application_update_params.py +3 -2
  308. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  309. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  310. telnyx/types/call_dial_params.py +14 -6
  311. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  312. telnyx/types/call_enqueued_webhook_event.py +59 -0
  313. telnyx/types/call_fork_started_webhook_event.py +53 -0
  314. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  315. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  316. telnyx/types/call_hangup_webhook_event.py +150 -0
  317. telnyx/types/call_initiated_webhook_event.py +96 -0
  318. telnyx/types/call_left_queue_webhook_event.py +62 -0
  319. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  320. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  321. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  322. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  323. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  324. telnyx/types/call_playback_started_webhook_event.py +62 -0
  325. telnyx/types/call_recording_error_webhook_event.py +60 -0
  326. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  327. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  328. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  329. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  330. telnyx/types/call_refer_started_webhook_event.py +61 -0
  331. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  332. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  333. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  334. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  335. telnyx/types/call_speak_started_webhook_event.py +50 -0
  336. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  337. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  338. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  339. telnyx/types/calls/action_answer_params.py +1 -2
  340. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  341. telnyx/types/calls/action_start_streaming_params.py +4 -2
  342. telnyx/types/calls/action_transfer_params.py +50 -0
  343. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  344. telnyx/types/campaign_builder_create_params.py +4 -3
  345. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  346. telnyx/types/campaign_submit_appeal_response.py +0 -3
  347. telnyx/types/conference_created_webhook_event.py +53 -0
  348. telnyx/types/conference_ended_webhook_event.py +56 -0
  349. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  350. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  351. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  352. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  353. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  354. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  355. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  356. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  357. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  358. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  359. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  360. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  361. telnyx/types/conferences/action_hold_params.py +3 -2
  362. telnyx/types/conferences/action_join_params.py +3 -2
  363. telnyx/types/conferences/action_mute_params.py +3 -2
  364. telnyx/types/conferences/action_play_params.py +2 -2
  365. telnyx/types/conferences/action_speak_params.py +3 -2
  366. telnyx/types/conferences/action_stop_params.py +3 -2
  367. telnyx/types/conferences/action_unhold_params.py +3 -2
  368. telnyx/types/conferences/action_unmute_params.py +3 -2
  369. telnyx/types/conferences/action_update_params.py +3 -2
  370. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  371. telnyx/types/country_coverage_retrieve_response.py +7 -0
  372. telnyx/types/credential_connection_create_params.py +3 -2
  373. telnyx/types/credential_connection_update_params.py +3 -2
  374. telnyx/types/credential_inbound_param.py +3 -2
  375. telnyx/types/custom_sip_header.py +13 -0
  376. telnyx/types/customer_service_record_list_params.py +2 -1
  377. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  378. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  379. telnyx/types/delivery_update_webhook_event.py +40 -0
  380. telnyx/types/detail_record_list_params.py +4 -2
  381. telnyx/types/document_generate_download_link_response.py +14 -0
  382. telnyx/types/document_list_params.py +2 -1
  383. telnyx/types/external_connection_create_params.py +4 -2
  384. telnyx/types/external_connection_update_params.py +4 -2
  385. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  386. telnyx/types/external_connections/upload_create_params.py +3 -1
  387. telnyx/types/fax_application_create_params.py +3 -2
  388. telnyx/types/fax_application_update_params.py +3 -2
  389. telnyx/types/fax_delivered_webhook_event.py +69 -0
  390. telnyx/types/fax_failed_webhook_event.py +66 -0
  391. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  392. telnyx/types/fax_queued_webhook_event.py +63 -0
  393. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  394. telnyx/types/fqdn_connection_create_params.py +3 -2
  395. telnyx/types/fqdn_connection_update_params.py +3 -2
  396. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  397. telnyx/types/inbound_fqdn_param.py +4 -2
  398. telnyx/types/inbound_ip_param.py +3 -2
  399. telnyx/types/inbound_message_webhook_event.py +227 -0
  400. telnyx/types/ip_connection_create_params.py +4 -3
  401. telnyx/types/ip_connection_update_params.py +3 -2
  402. telnyx/types/legacy/__init__.py +3 -0
  403. telnyx/types/legacy/reporting/__init__.py +10 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +20 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +77 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +68 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +68 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +80 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +68 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +31 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +31 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +31 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +31 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +79 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +91 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +91 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +102 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +91 -0
  421. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  422. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  423. telnyx/types/legacy/reporting/usage_reports/__init__.py +18 -0
  424. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  425. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +43 -0
  426. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +43 -0
  427. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  428. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +54 -0
  429. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +43 -0
  430. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  431. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  432. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  433. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +48 -0
  434. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +48 -0
  435. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  436. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +59 -0
  437. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +48 -0
  438. telnyx/types/media_list_params.py +3 -2
  439. telnyx/types/message_schedule_params.py +3 -2
  440. telnyx/types/message_send_group_mms_params.py +3 -3
  441. telnyx/types/message_send_long_code_params.py +2 -2
  442. telnyx/types/message_send_number_pool_params.py +3 -2
  443. telnyx/types/message_send_params.py +3 -2
  444. telnyx/types/message_send_short_code_params.py +2 -2
  445. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  446. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  447. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  448. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  449. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  450. telnyx/types/messaging_profile_create_params.py +3 -2
  451. telnyx/types/messaging_profile_update_params.py +3 -2
  452. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  453. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  454. telnyx/types/messsage_rcs_params.py +2 -2
  455. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  456. telnyx/types/numbers_feature_create_params.py +3 -2
  457. telnyx/types/oauth_authorize_params.py +30 -0
  458. telnyx/types/oauth_client_create_params.py +39 -0
  459. telnyx/types/oauth_client_create_response.py +63 -0
  460. telnyx/types/oauth_client_list_params.py +38 -0
  461. telnyx/types/oauth_client_list_response.py +79 -0
  462. telnyx/types/oauth_client_retrieve_response.py +63 -0
  463. telnyx/types/oauth_client_update_params.py +36 -0
  464. telnyx/types/oauth_client_update_response.py +63 -0
  465. telnyx/types/oauth_create_grant_params.py +15 -0
  466. telnyx/types/oauth_create_grant_response.py +10 -0
  467. telnyx/types/oauth_exchange_token_params.py +33 -0
  468. telnyx/types/oauth_exchange_token_response.py +25 -0
  469. telnyx/types/oauth_grant_list_params.py +17 -0
  470. telnyx/types/oauth_grant_list_response.py +49 -0
  471. telnyx/types/oauth_grant_retrieve_response.py +33 -0
  472. telnyx/types/oauth_grant_revoke_response.py +33 -0
  473. telnyx/types/oauth_introspect_token_params.py +12 -0
  474. telnyx/types/oauth_introspect_token_response.py +30 -0
  475. telnyx/types/oauth_register_client_params.py +39 -0
  476. telnyx/types/oauth_register_client_response.py +45 -0
  477. telnyx/types/oauth_retrieve_consent_response.py +47 -0
  478. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  479. telnyx/types/outbound_call_recording_param.py +3 -2
  480. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  481. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  482. telnyx/types/phone_number_delete_response.py +7 -0
  483. telnyx/types/phone_number_detailed.py +7 -0
  484. telnyx/types/phone_number_list_params.py +9 -2
  485. telnyx/types/phone_number_slim_list_params.py +3 -2
  486. telnyx/types/phone_number_update_params.py +3 -2
  487. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  488. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  489. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  490. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  491. telnyx/types/portability_check_run_params.py +3 -2
  492. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  493. telnyx/types/porting_order.py +3 -0
  494. telnyx/types/porting_order_create_params.py +6 -2
  495. telnyx/types/porting_order_list_params.py +52 -31
  496. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  497. telnyx/types/porting_order_update_params.py +2 -0
  498. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  499. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  500. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  501. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  502. telnyx/types/portout_list_params.py +11 -3
  503. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  504. telnyx/types/recordings/action_delete_params.py +3 -2
  505. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  506. telnyx/types/report_list_wdrs_params.py +3 -2
  507. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  508. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  509. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  510. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  511. telnyx/types/shared/simple_sim_card.py +15 -0
  512. telnyx/types/sim_card.py +12 -0
  513. telnyx/types/sim_card_list_params.py +2 -1
  514. telnyx/types/sim_card_update_params.py +4 -3
  515. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  516. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  517. telnyx/types/sip_header.py +15 -0
  518. telnyx/types/stream_bidirectional_codec.py +1 -1
  519. telnyx/types/stream_codec.py +1 -1
  520. telnyx/types/streaming_failed_webhook_event.py +70 -0
  521. telnyx/types/streaming_started_webhook_event.py +53 -0
  522. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  523. telnyx/types/texml_application_create_params.py +2 -2
  524. telnyx/types/texml_application_update_params.py +2 -2
  525. telnyx/types/transcription_webhook_event.py +72 -0
  526. telnyx/types/unwrap_webhook_event.py +138 -0
  527. telnyx/types/usage_report_list_params.py +5 -4
  528. telnyx/types/verification_trigger_call_params.py +7 -0
  529. telnyx/types/verified_number_create_params.py +10 -0
  530. telnyx/types/verify_profile.py +18 -3
  531. telnyx/types/verify_profile_create_params.py +6 -4
  532. telnyx/types/verify_profile_create_template_params.py +12 -0
  533. telnyx/types/verify_profile_create_template_response.py +17 -0
  534. telnyx/types/verify_profile_update_params.py +6 -4
  535. telnyx/types/verify_profile_update_template_params.py +12 -0
  536. telnyx/types/verify_profile_update_template_response.py +17 -0
  537. telnyx/types/video_region_param.py +4 -2
  538. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  539. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  540. telnyx/types/wireless_blocklist_create_params.py +3 -2
  541. telnyx/types/wireless_blocklist_update_params.py +3 -2
  542. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/METADATA +60 -19
  543. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/RECORD +545 -398
  544. telnyx/types/client_create_bucket_params.py +0 -13
  545. telnyx/types/client_delete_objects_params.py +0 -20
  546. telnyx/types/client_get_object_params.py +0 -15
  547. telnyx/types/client_list_objects_params.py +0 -13
  548. telnyx/types/client_put_object_params.py +0 -20
  549. telnyx/types/list_buckets_response.py +0 -20
  550. telnyx/types/list_objects_response.py +0 -24
  551. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/WHEEL +0 -0
  552. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -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,63 @@
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__ = ["OAuthClientCreateResponse", "Data"]
10
+
11
+
12
+ class Data(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"""
60
+
61
+
62
+ class OAuthClientCreateResponse(BaseModel):
63
+ data: Optional[Data] = 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,79 @@
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__ = ["OAuthClientListResponse", "Data", "Meta"]
10
+
11
+
12
+ class Data(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"""
60
+
61
+
62
+ class Meta(BaseModel):
63
+ page_number: Optional[int] = None
64
+ """Current page number"""
65
+
66
+ page_size: Optional[int] = None
67
+ """Number of items per page"""
68
+
69
+ total_pages: Optional[int] = None
70
+ """Total number of pages"""
71
+
72
+ total_results: Optional[int] = None
73
+ """Total number of results"""
74
+
75
+
76
+ class OAuthClientListResponse(BaseModel):
77
+ data: Optional[List[Data]] = None
78
+
79
+ meta: Optional[Meta] = None
@@ -0,0 +1,63 @@
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__ = ["OAuthClientRetrieveResponse", "Data"]
10
+
11
+
12
+ class Data(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"""
60
+
61
+
62
+ class OAuthClientRetrieveResponse(BaseModel):
63
+ data: Optional[Data] = 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,63 @@
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__ = ["OAuthClientUpdateResponse", "Data"]
10
+
11
+
12
+ class Data(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"""
60
+
61
+
62
+ class OAuthClientUpdateResponse(BaseModel):
63
+ data: Optional[Data] = 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__ = ["OAuthCreateGrantParams"]
8
+
9
+
10
+ class OAuthCreateGrantParams(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__ = ["OAuthCreateGrantResponse"]
6
+
7
+
8
+ class OAuthCreateGrantResponse(BaseModel):
9
+ redirect_uri: str
10
+ """Redirect URI with authorization code or error"""
@@ -0,0 +1,33 @@
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, Required, TypedDict
6
+
7
+ __all__ = ["OAuthExchangeTokenParams"]
8
+
9
+
10
+ class OAuthExchangeTokenParams(TypedDict, total=False):
11
+ grant_type: Required[Literal["client_credentials", "authorization_code", "refresh_token"]]
12
+ """OAuth 2.0 grant type"""
13
+
14
+ client_id: str
15
+ """OAuth client ID (if not using HTTP Basic auth)"""
16
+
17
+ client_secret: str
18
+ """OAuth client secret (if not using HTTP Basic auth)"""
19
+
20
+ code: str
21
+ """Authorization code (for authorization_code flow)"""
22
+
23
+ code_verifier: str
24
+ """PKCE code verifier (for authorization_code flow)"""
25
+
26
+ redirect_uri: str
27
+ """Redirect URI (for authorization_code flow)"""
28
+
29
+ refresh_token: str
30
+ """Refresh token (for refresh_token flow)"""
31
+
32
+ scope: str
33
+ """Space-separated list of requested scopes (for client_credentials)"""
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["OAuthExchangeTokenResponse"]
9
+
10
+
11
+ class OAuthExchangeTokenResponse(BaseModel):
12
+ access_token: str
13
+ """The access token"""
14
+
15
+ expires_in: int
16
+ """Token lifetime in seconds"""
17
+
18
+ token_type: Literal["Bearer"]
19
+ """Token type"""
20
+
21
+ refresh_token: Optional[str] = None
22
+ """Refresh token (if applicable)"""
23
+
24
+ scope: Optional[str] = None
25
+ """Space-separated list of granted scopes"""
@@ -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,49 @@
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__ = ["OAuthGrantListResponse", "Data", "Meta"]
10
+
11
+
12
+ class Data(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"""
30
+
31
+
32
+ class Meta(BaseModel):
33
+ page_number: Optional[int] = None
34
+ """Current page number"""
35
+
36
+ page_size: Optional[int] = None
37
+ """Number of items per page"""
38
+
39
+ total_pages: Optional[int] = None
40
+ """Total number of pages"""
41
+
42
+ total_results: Optional[int] = None
43
+ """Total number of results"""
44
+
45
+
46
+ class OAuthGrantListResponse(BaseModel):
47
+ data: Optional[List[Data]] = None
48
+
49
+ meta: Optional[Meta] = None
@@ -0,0 +1,33 @@
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__ = ["OAuthGrantRetrieveResponse", "Data"]
10
+
11
+
12
+ class Data(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"""
30
+
31
+
32
+ class OAuthGrantRetrieveResponse(BaseModel):
33
+ data: Optional[Data] = None
@@ -0,0 +1,33 @@
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__ = ["OAuthGrantRevokeResponse", "Data"]
10
+
11
+
12
+ class Data(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"""
30
+
31
+
32
+ class OAuthGrantRevokeResponse(BaseModel):
33
+ data: Optional[Data] = None
@@ -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__ = ["OAuthIntrospectTokenParams"]
8
+
9
+
10
+ class OAuthIntrospectTokenParams(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__ = ["OAuthIntrospectTokenResponse"]
8
+
9
+
10
+ class OAuthIntrospectTokenResponse(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"""