telnyx 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/transport/pooled_net_requester.rb +7 -10
  5. data/lib/telnyx/models/{advanced_order_update_params.rb → advanced_order_update_requirement_group_params.rb} +9 -8
  6. data/lib/telnyx/models/{advanced_order_update_response.rb → advanced_order_update_requirement_group_response.rb} +1 -1
  7. data/lib/telnyx/models/calls/transcription_start_request.rb +444 -6
  8. data/lib/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rb +156 -0
  9. data/lib/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rb +151 -0
  10. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rb +3 -110
  11. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rb +3 -252
  12. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rb +3 -252
  13. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rb +3 -250
  14. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rb +3 -252
  15. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rb +3 -73
  16. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rb +3 -73
  17. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rb +3 -71
  18. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rb +3 -73
  19. data/lib/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rb +79 -0
  20. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rb +3 -110
  21. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rb +3 -256
  22. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rb +3 -256
  23. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rb +3 -255
  24. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rb +3 -256
  25. data/lib/telnyx/models/legacy/reporting/filter.rb +112 -0
  26. data/lib/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rb +109 -0
  27. data/lib/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rb +104 -0
  28. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rb +3 -97
  29. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rb +3 -97
  30. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rb +3 -96
  31. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rb +3 -97
  32. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rb +3 -102
  33. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rb +3 -102
  34. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rb +3 -101
  35. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rb +3 -102
  36. data/lib/telnyx/models/oauth_client.rb +173 -0
  37. data/lib/telnyx/models/oauth_client_create_response.rb +3 -172
  38. data/lib/telnyx/models/oauth_client_list_response.rb +3 -171
  39. data/lib/telnyx/models/oauth_client_retrieve_response.rb +3 -172
  40. data/lib/telnyx/models/oauth_client_update_response.rb +3 -172
  41. data/lib/telnyx/models/oauth_grant.rb +68 -0
  42. data/lib/telnyx/models/oauth_grant_delete_response.rb +3 -67
  43. data/lib/telnyx/models/oauth_grant_list_response.rb +3 -66
  44. data/lib/telnyx/models/oauth_grant_retrieve_response.rb +3 -67
  45. data/lib/telnyx/models/verify_profile_create_template_response.rb +3 -20
  46. data/lib/telnyx/models/verify_profile_message_template_response.rb +21 -0
  47. data/lib/telnyx/models/verify_profile_retrieve_templates_response.rb +3 -20
  48. data/lib/telnyx/models/verify_profile_update_template_response.rb +3 -20
  49. data/lib/telnyx/models.rb +7 -1
  50. data/lib/telnyx/resources/advanced_orders.rb +26 -26
  51. data/lib/telnyx/resources/calls/actions.rb +2 -2
  52. data/lib/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rb +1 -1
  53. data/lib/telnyx/resources/legacy/reporting/batch_detail_records/voice.rb +1 -1
  54. data/lib/telnyx/version.rb +1 -1
  55. data/lib/telnyx.rb +11 -2
  56. data/rbi/telnyx/models/{advanced_order_update_params.rbi → advanced_order_update_requirement_group_params.rbi} +53 -25
  57. data/rbi/telnyx/models/{advanced_order_update_response.rbi → advanced_order_update_requirement_group_response.rbi} +1 -1
  58. data/rbi/telnyx/models/calls/transcription_start_request.rbi +1473 -3
  59. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rbi +232 -0
  60. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rbi +346 -0
  61. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rbi +4 -279
  62. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rbi +4 -614
  63. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rbi +4 -614
  64. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbi +4 -614
  65. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rbi +4 -614
  66. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rbi +4 -155
  67. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rbi +4 -155
  68. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rbi +4 -155
  69. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rbi +4 -155
  70. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rbi +162 -0
  71. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rbi +4 -279
  72. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rbi +4 -500
  73. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rbi +4 -500
  74. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbi +4 -500
  75. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rbi +4 -500
  76. data/rbi/telnyx/models/legacy/reporting/filter.rbi +252 -0
  77. data/rbi/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rbi +157 -0
  78. data/rbi/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rbi +155 -0
  79. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rbi +4 -148
  80. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rbi +4 -148
  81. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbi +4 -148
  82. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rbi +4 -148
  83. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rbi +4 -150
  84. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rbi +4 -150
  85. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbi +4 -150
  86. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rbi +4 -150
  87. data/rbi/telnyx/models/oauth_client.rbi +250 -0
  88. data/rbi/telnyx/models/oauth_client_create_response.rbi +4 -317
  89. data/rbi/telnyx/models/oauth_client_list_response.rbi +4 -313
  90. data/rbi/telnyx/models/oauth_client_retrieve_response.rbi +4 -317
  91. data/rbi/telnyx/models/oauth_client_update_response.rbi +4 -317
  92. data/rbi/telnyx/models/oauth_grant.rbi +95 -0
  93. data/rbi/telnyx/models/oauth_grant_delete_response.rbi +4 -127
  94. data/rbi/telnyx/models/oauth_grant_list_response.rbi +4 -123
  95. data/rbi/telnyx/models/oauth_grant_retrieve_response.rbi +4 -129
  96. data/rbi/telnyx/models/verify_profile_create_template_response.rbi +4 -44
  97. data/rbi/telnyx/models/verify_profile_message_template_response.rbi +35 -0
  98. data/rbi/telnyx/models/verify_profile_retrieve_templates_response.rbi +3 -45
  99. data/rbi/telnyx/models/verify_profile_update_template_response.rbi +4 -44
  100. data/rbi/telnyx/models.rbi +9 -1
  101. data/rbi/telnyx/resources/advanced_orders.rbi +16 -14
  102. data/rbi/telnyx/resources/calls/actions.rbi +5 -1
  103. data/rbi/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rbi +1 -4
  104. data/rbi/telnyx/resources/legacy/reporting/batch_detail_records/voice.rbi +1 -4
  105. data/sig/telnyx/models/{advanced_order_update_params.rbs → advanced_order_update_requirement_group_params.rbs} +16 -16
  106. data/sig/telnyx/models/advanced_order_update_requirement_group_response.rbs +5 -0
  107. data/sig/telnyx/models/calls/transcription_start_request.rbs +585 -2
  108. data/sig/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rbs +142 -0
  109. data/sig/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rbs +163 -0
  110. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rbs +6 -108
  111. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rbs +6 -262
  112. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rbs +6 -262
  113. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbs +6 -262
  114. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rbs +6 -262
  115. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rbs +6 -82
  116. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rbs +6 -82
  117. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rbs +6 -82
  118. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rbs +6 -82
  119. data/sig/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rbs +85 -0
  120. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rbs +6 -108
  121. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rbs +6 -241
  122. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rbs +6 -241
  123. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbs +6 -241
  124. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rbs +6 -241
  125. data/sig/telnyx/models/legacy/reporting/filter.rbs +109 -0
  126. data/sig/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rbs +105 -0
  127. data/sig/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rbs +105 -0
  128. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rbs +6 -102
  129. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rbs +6 -102
  130. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbs +6 -102
  131. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rbs +6 -102
  132. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rbs +6 -102
  133. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rbs +6 -102
  134. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbs +6 -102
  135. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rbs +6 -102
  136. data/sig/telnyx/models/oauth_client.rbs +137 -0
  137. data/sig/telnyx/models/oauth_client_create_response.rbs +5 -144
  138. data/sig/telnyx/models/oauth_client_list_response.rbs +5 -141
  139. data/sig/telnyx/models/oauth_client_retrieve_response.rbs +5 -146
  140. data/sig/telnyx/models/oauth_client_update_response.rbs +5 -144
  141. data/sig/telnyx/models/oauth_grant.rbs +55 -0
  142. data/sig/telnyx/models/oauth_grant_delete_response.rbs +5 -62
  143. data/sig/telnyx/models/oauth_grant_list_response.rbs +5 -59
  144. data/sig/telnyx/models/oauth_grant_retrieve_response.rbs +5 -62
  145. data/sig/telnyx/models/verify_profile_create_template_response.rbs +6 -24
  146. data/sig/telnyx/models/verify_profile_message_template_response.rbs +19 -0
  147. data/sig/telnyx/models/verify_profile_retrieve_templates_response.rbs +4 -22
  148. data/sig/telnyx/models/verify_profile_update_template_response.rbs +6 -24
  149. data/sig/telnyx/models.rbs +7 -1
  150. data/sig/telnyx/resources/advanced_orders.rbs +6 -6
  151. data/sig/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rbs +1 -1
  152. data/sig/telnyx/resources/legacy/reporting/batch_detail_records/voice.rbs +1 -1
  153. metadata +35 -8
  154. data/sig/telnyx/models/advanced_order_update_response.rbs +0 -5
@@ -18,7 +18,7 @@ module Telnyx
18
18
  returns(
19
19
  T.nilable(
20
20
  T::Array[
21
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Data
21
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy
22
22
  ]
23
23
  )
24
24
  )
@@ -29,7 +29,7 @@ module Telnyx
29
29
  params(
30
30
  data:
31
31
  T::Array[
32
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Data::OrHash
32
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy::OrHash
33
33
  ]
34
34
  ).void
35
35
  end
@@ -56,7 +56,7 @@ module Telnyx
56
56
  params(
57
57
  data:
58
58
  T::Array[
59
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Data::OrHash
59
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy::OrHash
60
60
  ],
61
61
  meta:
62
62
  Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Meta::OrHash
@@ -70,7 +70,7 @@ module Telnyx
70
70
  {
71
71
  data:
72
72
  T::Array[
73
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Data
73
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy
74
74
  ],
75
75
  meta:
76
76
  Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Meta
@@ -80,152 +80,6 @@ module Telnyx
80
80
  def to_hash
81
81
  end
82
82
 
83
- class Data < Telnyx::Internal::Type::BaseModel
84
- OrHash =
85
- T.type_alias do
86
- T.any(
87
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceListResponse::Data,
88
- Telnyx::Internal::AnyHash
89
- )
90
- end
91
-
92
- # Identifies the resource
93
- sig { returns(T.nilable(String)) }
94
- attr_reader :id
95
-
96
- sig { params(id: String).void }
97
- attr_writer :id
98
-
99
- # Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
100
- sig { returns(T.nilable(Integer)) }
101
- attr_reader :aggregation_type
102
-
103
- sig { params(aggregation_type: Integer).void }
104
- attr_writer :aggregation_type
105
-
106
- sig { returns(T.nilable(T::Array[Integer])) }
107
- attr_reader :connections
108
-
109
- sig { params(connections: T::Array[Integer]).void }
110
- attr_writer :connections
111
-
112
- sig { returns(T.nilable(Time)) }
113
- attr_reader :created_at
114
-
115
- sig { params(created_at: Time).void }
116
- attr_writer :created_at
117
-
118
- sig { returns(T.nilable(Time)) }
119
- attr_reader :end_time
120
-
121
- sig { params(end_time: Time).void }
122
- attr_writer :end_time
123
-
124
- # Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
125
- # vs Toll-free per Country = 3
126
- sig { returns(T.nilable(Integer)) }
127
- attr_reader :product_breakdown
128
-
129
- sig { params(product_breakdown: Integer).void }
130
- attr_writer :product_breakdown
131
-
132
- sig { returns(T.nilable(String)) }
133
- attr_reader :record_type
134
-
135
- sig { params(record_type: String).void }
136
- attr_writer :record_type
137
-
138
- sig { returns(T.nilable(String)) }
139
- attr_reader :report_url
140
-
141
- sig { params(report_url: String).void }
142
- attr_writer :report_url
143
-
144
- sig { returns(T.nilable(T.anything)) }
145
- attr_reader :result
146
-
147
- sig { params(result: T.anything).void }
148
- attr_writer :result
149
-
150
- sig { returns(T.nilable(Time)) }
151
- attr_reader :start_time
152
-
153
- sig { params(start_time: Time).void }
154
- attr_writer :start_time
155
-
156
- # Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4
157
- sig { returns(T.nilable(Integer)) }
158
- attr_reader :status
159
-
160
- sig { params(status: Integer).void }
161
- attr_writer :status
162
-
163
- sig { returns(T.nilable(Time)) }
164
- attr_reader :updated_at
165
-
166
- sig { params(updated_at: Time).void }
167
- attr_writer :updated_at
168
-
169
- # Legacy V2 CDR usage report response
170
- sig do
171
- params(
172
- id: String,
173
- aggregation_type: Integer,
174
- connections: T::Array[Integer],
175
- created_at: Time,
176
- end_time: Time,
177
- product_breakdown: Integer,
178
- record_type: String,
179
- report_url: String,
180
- result: T.anything,
181
- start_time: Time,
182
- status: Integer,
183
- updated_at: Time
184
- ).returns(T.attached_class)
185
- end
186
- def self.new(
187
- # Identifies the resource
188
- id: nil,
189
- # Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
190
- aggregation_type: nil,
191
- connections: nil,
192
- created_at: nil,
193
- end_time: nil,
194
- # Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
195
- # vs Toll-free per Country = 3
196
- product_breakdown: nil,
197
- record_type: nil,
198
- report_url: nil,
199
- result: nil,
200
- start_time: nil,
201
- # Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4
202
- status: nil,
203
- updated_at: nil
204
- )
205
- end
206
-
207
- sig do
208
- override.returns(
209
- {
210
- id: String,
211
- aggregation_type: Integer,
212
- connections: T::Array[Integer],
213
- created_at: Time,
214
- end_time: Time,
215
- product_breakdown: Integer,
216
- record_type: String,
217
- report_url: String,
218
- result: T.anything,
219
- start_time: Time,
220
- status: Integer,
221
- updated_at: Time
222
- }
223
- )
224
- end
225
- def to_hash
226
- end
227
- end
228
-
229
83
  class Meta < Telnyx::Internal::Type::BaseModel
230
84
  OrHash =
231
85
  T.type_alias do
@@ -18,7 +18,7 @@ module Telnyx
18
18
  sig do
19
19
  returns(
20
20
  T.nilable(
21
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceRetrieveResponse::Data
21
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy
22
22
  )
23
23
  )
24
24
  end
@@ -27,7 +27,7 @@ module Telnyx
27
27
  sig do
28
28
  params(
29
29
  data:
30
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceRetrieveResponse::Data::OrHash
30
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy::OrHash
31
31
  ).void
32
32
  end
33
33
  attr_writer :data
@@ -35,7 +35,7 @@ module Telnyx
35
35
  sig do
36
36
  params(
37
37
  data:
38
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceRetrieveResponse::Data::OrHash
38
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy::OrHash
39
39
  ).returns(T.attached_class)
40
40
  end
41
41
  def self.new(
@@ -48,158 +48,12 @@ module Telnyx
48
48
  override.returns(
49
49
  {
50
50
  data:
51
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceRetrieveResponse::Data
51
+ Telnyx::Legacy::Reporting::UsageReports::CdrUsageReportResponseLegacy
52
52
  }
53
53
  )
54
54
  end
55
55
  def to_hash
56
56
  end
57
-
58
- class Data < Telnyx::Internal::Type::BaseModel
59
- OrHash =
60
- T.type_alias do
61
- T.any(
62
- Telnyx::Models::Legacy::Reporting::UsageReports::VoiceRetrieveResponse::Data,
63
- Telnyx::Internal::AnyHash
64
- )
65
- end
66
-
67
- # Identifies the resource
68
- sig { returns(T.nilable(String)) }
69
- attr_reader :id
70
-
71
- sig { params(id: String).void }
72
- attr_writer :id
73
-
74
- # Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
75
- sig { returns(T.nilable(Integer)) }
76
- attr_reader :aggregation_type
77
-
78
- sig { params(aggregation_type: Integer).void }
79
- attr_writer :aggregation_type
80
-
81
- sig { returns(T.nilable(T::Array[Integer])) }
82
- attr_reader :connections
83
-
84
- sig { params(connections: T::Array[Integer]).void }
85
- attr_writer :connections
86
-
87
- sig { returns(T.nilable(Time)) }
88
- attr_reader :created_at
89
-
90
- sig { params(created_at: Time).void }
91
- attr_writer :created_at
92
-
93
- sig { returns(T.nilable(Time)) }
94
- attr_reader :end_time
95
-
96
- sig { params(end_time: Time).void }
97
- attr_writer :end_time
98
-
99
- # Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
100
- # vs Toll-free per Country = 3
101
- sig { returns(T.nilable(Integer)) }
102
- attr_reader :product_breakdown
103
-
104
- sig { params(product_breakdown: Integer).void }
105
- attr_writer :product_breakdown
106
-
107
- sig { returns(T.nilable(String)) }
108
- attr_reader :record_type
109
-
110
- sig { params(record_type: String).void }
111
- attr_writer :record_type
112
-
113
- sig { returns(T.nilable(String)) }
114
- attr_reader :report_url
115
-
116
- sig { params(report_url: String).void }
117
- attr_writer :report_url
118
-
119
- sig { returns(T.nilable(T.anything)) }
120
- attr_reader :result
121
-
122
- sig { params(result: T.anything).void }
123
- attr_writer :result
124
-
125
- sig { returns(T.nilable(Time)) }
126
- attr_reader :start_time
127
-
128
- sig { params(start_time: Time).void }
129
- attr_writer :start_time
130
-
131
- # Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4
132
- sig { returns(T.nilable(Integer)) }
133
- attr_reader :status
134
-
135
- sig { params(status: Integer).void }
136
- attr_writer :status
137
-
138
- sig { returns(T.nilable(Time)) }
139
- attr_reader :updated_at
140
-
141
- sig { params(updated_at: Time).void }
142
- attr_writer :updated_at
143
-
144
- # Legacy V2 CDR usage report response
145
- sig do
146
- params(
147
- id: String,
148
- aggregation_type: Integer,
149
- connections: T::Array[Integer],
150
- created_at: Time,
151
- end_time: Time,
152
- product_breakdown: Integer,
153
- record_type: String,
154
- report_url: String,
155
- result: T.anything,
156
- start_time: Time,
157
- status: Integer,
158
- updated_at: Time
159
- ).returns(T.attached_class)
160
- end
161
- def self.new(
162
- # Identifies the resource
163
- id: nil,
164
- # Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
165
- aggregation_type: nil,
166
- connections: nil,
167
- created_at: nil,
168
- end_time: nil,
169
- # Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
170
- # vs Toll-free per Country = 3
171
- product_breakdown: nil,
172
- record_type: nil,
173
- report_url: nil,
174
- result: nil,
175
- start_time: nil,
176
- # Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4
177
- status: nil,
178
- updated_at: nil
179
- )
180
- end
181
-
182
- sig do
183
- override.returns(
184
- {
185
- id: String,
186
- aggregation_type: Integer,
187
- connections: T::Array[Integer],
188
- created_at: Time,
189
- end_time: Time,
190
- product_breakdown: Integer,
191
- record_type: String,
192
- report_url: String,
193
- result: T.anything,
194
- start_time: Time,
195
- status: Integer,
196
- updated_at: Time
197
- }
198
- )
199
- end
200
- def to_hash
201
- end
202
- end
203
57
  end
204
58
  end
205
59
  end
@@ -0,0 +1,250 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class OAuthClient < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Telnyx::OAuthClient, Telnyx::Internal::AnyHash) }
8
+
9
+ # OAuth client identifier
10
+ sig { returns(String) }
11
+ attr_accessor :client_id
12
+
13
+ # OAuth client type
14
+ sig { returns(Telnyx::OAuthClient::ClientType::TaggedSymbol) }
15
+ attr_accessor :client_type
16
+
17
+ # Timestamp when the client was created
18
+ sig { returns(Time) }
19
+ attr_accessor :created_at
20
+
21
+ # Human-readable name for the OAuth client
22
+ sig { returns(String) }
23
+ attr_accessor :name
24
+
25
+ # Organization ID that owns this OAuth client
26
+ sig { returns(String) }
27
+ attr_accessor :org_id
28
+
29
+ # Record type identifier
30
+ sig { returns(Telnyx::OAuthClient::RecordType::TaggedSymbol) }
31
+ attr_accessor :record_type
32
+
33
+ # Whether PKCE (Proof Key for Code Exchange) is required for this client
34
+ sig { returns(T::Boolean) }
35
+ attr_accessor :require_pkce
36
+
37
+ # Timestamp when the client was last updated
38
+ sig { returns(Time) }
39
+ attr_accessor :updated_at
40
+
41
+ # User ID that created this OAuth client
42
+ sig { returns(String) }
43
+ attr_accessor :user_id
44
+
45
+ # List of allowed OAuth grant types
46
+ sig do
47
+ returns(
48
+ T.nilable(
49
+ T::Array[Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol]
50
+ )
51
+ )
52
+ end
53
+ attr_reader :allowed_grant_types
54
+
55
+ sig do
56
+ params(
57
+ allowed_grant_types:
58
+ T::Array[Telnyx::OAuthClient::AllowedGrantType::OrSymbol]
59
+ ).void
60
+ end
61
+ attr_writer :allowed_grant_types
62
+
63
+ # List of allowed OAuth scopes
64
+ sig { returns(T.nilable(T::Array[String])) }
65
+ attr_reader :allowed_scopes
66
+
67
+ sig { params(allowed_scopes: T::Array[String]).void }
68
+ attr_writer :allowed_scopes
69
+
70
+ # Client secret (only included when available, for confidential clients)
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :client_secret
73
+
74
+ # URL of the client logo
75
+ sig { returns(T.nilable(String)) }
76
+ attr_accessor :logo_uri
77
+
78
+ # URL of the client's privacy policy
79
+ sig { returns(T.nilable(String)) }
80
+ attr_accessor :policy_uri
81
+
82
+ # List of allowed redirect URIs
83
+ sig { returns(T.nilable(T::Array[String])) }
84
+ attr_reader :redirect_uris
85
+
86
+ sig { params(redirect_uris: T::Array[String]).void }
87
+ attr_writer :redirect_uris
88
+
89
+ # URL of the client's terms of service
90
+ sig { returns(T.nilable(String)) }
91
+ attr_accessor :tos_uri
92
+
93
+ sig do
94
+ params(
95
+ client_id: String,
96
+ client_type: Telnyx::OAuthClient::ClientType::OrSymbol,
97
+ created_at: Time,
98
+ name: String,
99
+ org_id: String,
100
+ record_type: Telnyx::OAuthClient::RecordType::OrSymbol,
101
+ require_pkce: T::Boolean,
102
+ updated_at: Time,
103
+ user_id: String,
104
+ allowed_grant_types:
105
+ T::Array[Telnyx::OAuthClient::AllowedGrantType::OrSymbol],
106
+ allowed_scopes: T::Array[String],
107
+ client_secret: T.nilable(String),
108
+ logo_uri: T.nilable(String),
109
+ policy_uri: T.nilable(String),
110
+ redirect_uris: T::Array[String],
111
+ tos_uri: T.nilable(String)
112
+ ).returns(T.attached_class)
113
+ end
114
+ def self.new(
115
+ # OAuth client identifier
116
+ client_id:,
117
+ # OAuth client type
118
+ client_type:,
119
+ # Timestamp when the client was created
120
+ created_at:,
121
+ # Human-readable name for the OAuth client
122
+ name:,
123
+ # Organization ID that owns this OAuth client
124
+ org_id:,
125
+ # Record type identifier
126
+ record_type:,
127
+ # Whether PKCE (Proof Key for Code Exchange) is required for this client
128
+ require_pkce:,
129
+ # Timestamp when the client was last updated
130
+ updated_at:,
131
+ # User ID that created this OAuth client
132
+ user_id:,
133
+ # List of allowed OAuth grant types
134
+ allowed_grant_types: nil,
135
+ # List of allowed OAuth scopes
136
+ allowed_scopes: nil,
137
+ # Client secret (only included when available, for confidential clients)
138
+ client_secret: nil,
139
+ # URL of the client logo
140
+ logo_uri: nil,
141
+ # URL of the client's privacy policy
142
+ policy_uri: nil,
143
+ # List of allowed redirect URIs
144
+ redirect_uris: nil,
145
+ # URL of the client's terms of service
146
+ tos_uri: nil
147
+ )
148
+ end
149
+
150
+ sig do
151
+ override.returns(
152
+ {
153
+ client_id: String,
154
+ client_type: Telnyx::OAuthClient::ClientType::TaggedSymbol,
155
+ created_at: Time,
156
+ name: String,
157
+ org_id: String,
158
+ record_type: Telnyx::OAuthClient::RecordType::TaggedSymbol,
159
+ require_pkce: T::Boolean,
160
+ updated_at: Time,
161
+ user_id: String,
162
+ allowed_grant_types:
163
+ T::Array[Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol],
164
+ allowed_scopes: T::Array[String],
165
+ client_secret: T.nilable(String),
166
+ logo_uri: T.nilable(String),
167
+ policy_uri: T.nilable(String),
168
+ redirect_uris: T::Array[String],
169
+ tos_uri: T.nilable(String)
170
+ }
171
+ )
172
+ end
173
+ def to_hash
174
+ end
175
+
176
+ # OAuth client type
177
+ module ClientType
178
+ extend Telnyx::Internal::Type::Enum
179
+
180
+ TaggedSymbol =
181
+ T.type_alias { T.all(Symbol, Telnyx::OAuthClient::ClientType) }
182
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
183
+
184
+ PUBLIC = T.let(:public, Telnyx::OAuthClient::ClientType::TaggedSymbol)
185
+ CONFIDENTIAL =
186
+ T.let(:confidential, Telnyx::OAuthClient::ClientType::TaggedSymbol)
187
+
188
+ sig do
189
+ override.returns(
190
+ T::Array[Telnyx::OAuthClient::ClientType::TaggedSymbol]
191
+ )
192
+ end
193
+ def self.values
194
+ end
195
+ end
196
+
197
+ # Record type identifier
198
+ module RecordType
199
+ extend Telnyx::Internal::Type::Enum
200
+
201
+ TaggedSymbol =
202
+ T.type_alias { T.all(Symbol, Telnyx::OAuthClient::RecordType) }
203
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
204
+
205
+ OAUTH_CLIENT =
206
+ T.let(:oauth_client, Telnyx::OAuthClient::RecordType::TaggedSymbol)
207
+
208
+ sig do
209
+ override.returns(
210
+ T::Array[Telnyx::OAuthClient::RecordType::TaggedSymbol]
211
+ )
212
+ end
213
+ def self.values
214
+ end
215
+ end
216
+
217
+ module AllowedGrantType
218
+ extend Telnyx::Internal::Type::Enum
219
+
220
+ TaggedSymbol =
221
+ T.type_alias { T.all(Symbol, Telnyx::OAuthClient::AllowedGrantType) }
222
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
223
+
224
+ CLIENT_CREDENTIALS =
225
+ T.let(
226
+ :client_credentials,
227
+ Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol
228
+ )
229
+ AUTHORIZATION_CODE =
230
+ T.let(
231
+ :authorization_code,
232
+ Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol
233
+ )
234
+ REFRESH_TOKEN =
235
+ T.let(
236
+ :refresh_token,
237
+ Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol
238
+ )
239
+
240
+ sig do
241
+ override.returns(
242
+ T::Array[Telnyx::OAuthClient::AllowedGrantType::TaggedSymbol]
243
+ )
244
+ end
245
+ def self.values
246
+ end
247
+ end
248
+ end
249
+ end
250
+ end