telnyx 5.65.0 → 5.66.1

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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +13 -0
  5. data/lib/telnyx/models/enterprise_create_params.rb +411 -0
  6. data/lib/telnyx/models/enterprise_create_response.rb +450 -0
  7. data/lib/telnyx/models/enterprise_delete_params.rb +20 -0
  8. data/lib/telnyx/models/enterprise_list_params.rb +38 -0
  9. data/lib/telnyx/models/enterprise_list_response.rb +439 -0
  10. data/lib/telnyx/models/enterprise_retrieve_params.rb +20 -0
  11. data/lib/telnyx/models/enterprise_retrieve_response.rb +452 -0
  12. data/lib/telnyx/models/enterprise_update_params.rb +364 -0
  13. data/lib/telnyx/models/enterprise_update_response.rb +450 -0
  14. data/lib/telnyx/models/enterprises/reputation/number_create_params.rb +33 -0
  15. data/lib/telnyx/models/enterprises/reputation/number_create_response.rb +106 -0
  16. data/lib/telnyx/models/enterprises/reputation/number_delete_params.rb +30 -0
  17. data/lib/telnyx/models/enterprises/reputation/number_list_params.rb +49 -0
  18. data/lib/telnyx/models/enterprises/reputation/number_list_response.rb +154 -0
  19. data/lib/telnyx/models/enterprises/reputation/number_retrieve_params.rb +45 -0
  20. data/lib/telnyx/models/enterprises/reputation/number_retrieve_response.rb +165 -0
  21. data/lib/telnyx/models/enterprises/reputation_create_params.rb +58 -0
  22. data/lib/telnyx/models/enterprises/reputation_create_response.rb +111 -0
  23. data/lib/telnyx/models/enterprises/reputation_delete_all_params.rb +22 -0
  24. data/lib/telnyx/models/enterprises/reputation_list_params.rb +22 -0
  25. data/lib/telnyx/models/enterprises/reputation_list_response.rb +111 -0
  26. data/lib/telnyx/models/enterprises/reputation_update_frequency_params.rb +47 -0
  27. data/lib/telnyx/models/enterprises/reputation_update_frequency_response.rb +112 -0
  28. data/lib/telnyx/models/reputation/number_delete_params.rb +22 -0
  29. data/lib/telnyx/models/reputation/number_list_params.rb +40 -0
  30. data/lib/telnyx/models/reputation/number_list_response.rb +151 -0
  31. data/lib/telnyx/models/reputation/number_retrieve_params.rb +35 -0
  32. data/lib/telnyx/models/reputation/number_retrieve_response.rb +163 -0
  33. data/lib/telnyx/models/terms_of_service/number_reputation_agree_params.rb +16 -0
  34. data/lib/telnyx/models.rb +16 -0
  35. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +174 -0
  36. data/lib/telnyx/resources/enterprises/reputation.rb +166 -0
  37. data/lib/telnyx/resources/enterprises.rb +217 -0
  38. data/lib/telnyx/resources/reputation/numbers.rb +102 -0
  39. data/lib/telnyx/resources/reputation.rb +20 -0
  40. data/lib/telnyx/resources/terms_of_service/number_reputation.rb +39 -0
  41. data/lib/telnyx/resources/terms_of_service.rb +19 -0
  42. data/lib/telnyx/version.rb +1 -1
  43. data/lib/telnyx.rb +36 -0
  44. data/rbi/telnyx/client.rbi +10 -0
  45. data/rbi/telnyx/models/enterprise_create_params.rbi +719 -0
  46. data/rbi/telnyx/models/enterprise_create_response.rbi +841 -0
  47. data/rbi/telnyx/models/enterprise_delete_params.rbi +35 -0
  48. data/rbi/telnyx/models/enterprise_list_params.rbi +68 -0
  49. data/rbi/telnyx/models/enterprise_list_response.rbi +794 -0
  50. data/rbi/telnyx/models/enterprise_retrieve_params.rbi +35 -0
  51. data/rbi/telnyx/models/enterprise_retrieve_response.rbi +843 -0
  52. data/rbi/telnyx/models/enterprise_update_params.rbi +651 -0
  53. data/rbi/telnyx/models/enterprise_update_response.rbi +841 -0
  54. data/rbi/telnyx/models/enterprises/reputation/number_create_params.rbi +56 -0
  55. data/rbi/telnyx/models/enterprises/reputation/number_create_response.rbi +238 -0
  56. data/rbi/telnyx/models/enterprises/reputation/number_delete_params.rbi +50 -0
  57. data/rbi/telnyx/models/enterprises/reputation/number_list_params.rbi +81 -0
  58. data/rbi/telnyx/models/enterprises/reputation/number_list_response.rbi +288 -0
  59. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_params.rbi +67 -0
  60. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_response.rbi +335 -0
  61. data/rbi/telnyx/models/enterprises/reputation_create_params.rbi +135 -0
  62. data/rbi/telnyx/models/enterprises/reputation_create_response.rbi +277 -0
  63. data/rbi/telnyx/models/enterprises/reputation_delete_all_params.rbi +40 -0
  64. data/rbi/telnyx/models/enterprises/reputation_list_params.rbi +40 -0
  65. data/rbi/telnyx/models/enterprises/reputation_list_response.rbi +273 -0
  66. data/rbi/telnyx/models/enterprises/reputation_update_frequency_params.rbi +115 -0
  67. data/rbi/telnyx/models/enterprises/reputation_update_frequency_response.rbi +278 -0
  68. data/rbi/telnyx/models/reputation/number_delete_params.rbi +40 -0
  69. data/rbi/telnyx/models/reputation/number_list_params.rbi +73 -0
  70. data/rbi/telnyx/models/reputation/number_list_response.rbi +286 -0
  71. data/rbi/telnyx/models/reputation/number_retrieve_params.rbi +59 -0
  72. data/rbi/telnyx/models/reputation/number_retrieve_response.rbi +328 -0
  73. data/rbi/telnyx/models/terms_of_service/number_reputation_agree_params.rbi +32 -0
  74. data/rbi/telnyx/models.rbi +16 -0
  75. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +142 -0
  76. data/rbi/telnyx/resources/enterprises/reputation.rbi +140 -0
  77. data/rbi/telnyx/resources/enterprises.rbi +226 -0
  78. data/rbi/telnyx/resources/reputation/numbers.rbi +80 -0
  79. data/rbi/telnyx/resources/reputation.rbi +17 -0
  80. data/rbi/telnyx/resources/terms_of_service/number_reputation.rbi +24 -0
  81. data/rbi/telnyx/resources/terms_of_service.rbi +16 -0
  82. data/sig/telnyx/client.rbs +6 -0
  83. data/sig/telnyx/models/enterprise_create_params.rbs +344 -0
  84. data/sig/telnyx/models/enterprise_create_response.rbs +392 -0
  85. data/sig/telnyx/models/enterprise_delete_params.rbs +23 -0
  86. data/sig/telnyx/models/enterprise_list_params.rbs +38 -0
  87. data/sig/telnyx/models/enterprise_list_response.rbs +375 -0
  88. data/sig/telnyx/models/enterprise_retrieve_params.rbs +23 -0
  89. data/sig/telnyx/models/enterprise_retrieve_response.rbs +392 -0
  90. data/sig/telnyx/models/enterprise_update_params.rbs +341 -0
  91. data/sig/telnyx/models/enterprise_update_response.rbs +392 -0
  92. data/sig/telnyx/models/enterprises/reputation/number_create_params.rbs +32 -0
  93. data/sig/telnyx/models/enterprises/reputation/number_create_response.rbs +124 -0
  94. data/sig/telnyx/models/enterprises/reputation/number_delete_params.rbs +32 -0
  95. data/sig/telnyx/models/enterprises/reputation/number_list_params.rbs +51 -0
  96. data/sig/telnyx/models/enterprises/reputation/number_list_response.rbs +132 -0
  97. data/sig/telnyx/models/enterprises/reputation/number_retrieve_params.rbs +38 -0
  98. data/sig/telnyx/models/enterprises/reputation/number_retrieve_response.rbs +153 -0
  99. data/sig/telnyx/models/enterprises/reputation_create_params.rbs +58 -0
  100. data/sig/telnyx/models/enterprises/reputation_create_response.rbs +114 -0
  101. data/sig/telnyx/models/enterprises/reputation_delete_all_params.rbs +25 -0
  102. data/sig/telnyx/models/enterprises/reputation_list_params.rbs +25 -0
  103. data/sig/telnyx/models/enterprises/reputation_list_response.rbs +114 -0
  104. data/sig/telnyx/models/enterprises/reputation_update_frequency_params.rbs +49 -0
  105. data/sig/telnyx/models/enterprises/reputation_update_frequency_response.rbs +116 -0
  106. data/sig/telnyx/models/reputation/number_delete_params.rbs +25 -0
  107. data/sig/telnyx/models/reputation/number_list_params.rbs +40 -0
  108. data/sig/telnyx/models/reputation/number_list_response.rbs +130 -0
  109. data/sig/telnyx/models/reputation/number_retrieve_params.rbs +32 -0
  110. data/sig/telnyx/models/reputation/number_retrieve_response.rbs +149 -0
  111. data/sig/telnyx/models/terms_of_service/number_reputation_agree_params.rbs +17 -0
  112. data/sig/telnyx/models.rbs +16 -0
  113. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +38 -0
  114. data/sig/telnyx/resources/enterprises/reputation.rbs +34 -0
  115. data/sig/telnyx/resources/enterprises.rbs +70 -0
  116. data/sig/telnyx/resources/reputation/numbers.rbs +27 -0
  117. data/sig/telnyx/resources/reputation.rbs +9 -0
  118. data/sig/telnyx/resources/terms_of_service/number_reputation.rbs +11 -0
  119. data/sig/telnyx/resources/terms_of_service.rbs +9 -0
  120. metadata +110 -2
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Enterprises
6
+ module Reputation
7
+ class NumberCreateParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Telnyx::Enterprises::Reputation::NumberCreateParams,
15
+ Telnyx::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :enterprise_id
21
+
22
+ # List of phone numbers to associate for reputation monitoring (max 100)
23
+ sig { returns(T::Array[String]) }
24
+ attr_accessor :phone_numbers
25
+
26
+ sig do
27
+ params(
28
+ enterprise_id: String,
29
+ phone_numbers: T::Array[String],
30
+ request_options: Telnyx::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ enterprise_id:,
35
+ # List of phone numbers to associate for reputation monitoring (max 100)
36
+ phone_numbers:,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ enterprise_id: String,
45
+ phone_numbers: T::Array[String],
46
+ request_options: Telnyx::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,238 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Enterprises
6
+ module Reputation
7
+ class NumberCreateResponse < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ T.nilable(
19
+ T::Array[
20
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Data
21
+ ]
22
+ )
23
+ )
24
+ end
25
+ attr_reader :data
26
+
27
+ sig do
28
+ params(
29
+ data:
30
+ T::Array[
31
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Data::OrHash
32
+ ]
33
+ ).void
34
+ end
35
+ attr_writer :data
36
+
37
+ sig do
38
+ returns(
39
+ T.nilable(
40
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Meta
41
+ )
42
+ )
43
+ end
44
+ attr_reader :meta
45
+
46
+ sig do
47
+ params(
48
+ meta:
49
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Meta::OrHash
50
+ ).void
51
+ end
52
+ attr_writer :meta
53
+
54
+ sig do
55
+ params(
56
+ data:
57
+ T::Array[
58
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Data::OrHash
59
+ ],
60
+ meta:
61
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Meta::OrHash
62
+ ).returns(T.attached_class)
63
+ end
64
+ def self.new(data: nil, meta: nil)
65
+ end
66
+
67
+ sig do
68
+ override.returns(
69
+ {
70
+ data:
71
+ T::Array[
72
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Data
73
+ ],
74
+ meta:
75
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Meta
76
+ }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+
82
+ class Data < Telnyx::Internal::Type::BaseModel
83
+ OrHash =
84
+ T.type_alias do
85
+ T.any(
86
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Data,
87
+ Telnyx::Internal::AnyHash
88
+ )
89
+ end
90
+
91
+ # Unique identifier
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :id
94
+
95
+ sig { params(id: String).void }
96
+ attr_writer :id
97
+
98
+ # When the number was associated
99
+ sig { returns(T.nilable(Time)) }
100
+ attr_reader :created_at
101
+
102
+ sig { params(created_at: Time).void }
103
+ attr_writer :created_at
104
+
105
+ # ID of the associated enterprise
106
+ sig { returns(T.nilable(String)) }
107
+ attr_reader :enterprise_id
108
+
109
+ sig { params(enterprise_id: String).void }
110
+ attr_writer :enterprise_id
111
+
112
+ # Phone number in E.164 format
113
+ sig { returns(T.nilable(String)) }
114
+ attr_reader :phone_number
115
+
116
+ sig { params(phone_number: String).void }
117
+ attr_writer :phone_number
118
+
119
+ # When the record was last updated
120
+ sig { returns(T.nilable(Time)) }
121
+ attr_reader :updated_at
122
+
123
+ sig { params(updated_at: Time).void }
124
+ attr_writer :updated_at
125
+
126
+ sig do
127
+ params(
128
+ id: String,
129
+ created_at: Time,
130
+ enterprise_id: String,
131
+ phone_number: String,
132
+ updated_at: Time
133
+ ).returns(T.attached_class)
134
+ end
135
+ def self.new(
136
+ # Unique identifier
137
+ id: nil,
138
+ # When the number was associated
139
+ created_at: nil,
140
+ # ID of the associated enterprise
141
+ enterprise_id: nil,
142
+ # Phone number in E.164 format
143
+ phone_number: nil,
144
+ # When the record was last updated
145
+ updated_at: nil
146
+ )
147
+ end
148
+
149
+ sig do
150
+ override.returns(
151
+ {
152
+ id: String,
153
+ created_at: Time,
154
+ enterprise_id: String,
155
+ phone_number: String,
156
+ updated_at: Time
157
+ }
158
+ )
159
+ end
160
+ def to_hash
161
+ end
162
+ end
163
+
164
+ class Meta < Telnyx::Internal::Type::BaseModel
165
+ OrHash =
166
+ T.type_alias do
167
+ T.any(
168
+ Telnyx::Models::Enterprises::Reputation::NumberCreateResponse::Meta,
169
+ Telnyx::Internal::AnyHash
170
+ )
171
+ end
172
+
173
+ # Current page number
174
+ sig { returns(T.nilable(Integer)) }
175
+ attr_reader :page_number
176
+
177
+ sig { params(page_number: Integer).void }
178
+ attr_writer :page_number
179
+
180
+ # Items per page
181
+ sig { returns(T.nilable(Integer)) }
182
+ attr_reader :page_size
183
+
184
+ sig { params(page_size: Integer).void }
185
+ attr_writer :page_size
186
+
187
+ # Total number of pages
188
+ sig { returns(T.nilable(Integer)) }
189
+ attr_reader :total_pages
190
+
191
+ sig { params(total_pages: Integer).void }
192
+ attr_writer :total_pages
193
+
194
+ # Total number of results
195
+ sig { returns(T.nilable(Integer)) }
196
+ attr_reader :total_results
197
+
198
+ sig { params(total_results: Integer).void }
199
+ attr_writer :total_results
200
+
201
+ sig do
202
+ params(
203
+ page_number: Integer,
204
+ page_size: Integer,
205
+ total_pages: Integer,
206
+ total_results: Integer
207
+ ).returns(T.attached_class)
208
+ end
209
+ def self.new(
210
+ # Current page number
211
+ page_number: nil,
212
+ # Items per page
213
+ page_size: nil,
214
+ # Total number of pages
215
+ total_pages: nil,
216
+ # Total number of results
217
+ total_results: nil
218
+ )
219
+ end
220
+
221
+ sig do
222
+ override.returns(
223
+ {
224
+ page_number: Integer,
225
+ page_size: Integer,
226
+ total_pages: Integer,
227
+ total_results: Integer
228
+ }
229
+ )
230
+ end
231
+ def to_hash
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Enterprises
6
+ module Reputation
7
+ class NumberDeleteParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Telnyx::Enterprises::Reputation::NumberDeleteParams,
15
+ Telnyx::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :enterprise_id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :phone_number
24
+
25
+ sig do
26
+ params(
27
+ enterprise_id: String,
28
+ phone_number: String,
29
+ request_options: Telnyx::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(enterprise_id:, phone_number:, request_options: {})
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ enterprise_id: String,
39
+ phone_number: String,
40
+ request_options: Telnyx::RequestOptions
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Enterprises
6
+ module Reputation
7
+ class NumberListParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Telnyx::Enterprises::Reputation::NumberListParams,
15
+ Telnyx::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :enterprise_id
21
+
22
+ # Page number (1-indexed)
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :page_number
25
+
26
+ sig { params(page_number: Integer).void }
27
+ attr_writer :page_number
28
+
29
+ # Number of items per page
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :page_size
32
+
33
+ sig { params(page_size: Integer).void }
34
+ attr_writer :page_size
35
+
36
+ # Filter by specific phone number (E.164 format)
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :phone_number
39
+
40
+ sig { params(phone_number: String).void }
41
+ attr_writer :phone_number
42
+
43
+ sig do
44
+ params(
45
+ enterprise_id: String,
46
+ page_number: Integer,
47
+ page_size: Integer,
48
+ phone_number: String,
49
+ request_options: Telnyx::RequestOptions::OrHash
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ enterprise_id:,
54
+ # Page number (1-indexed)
55
+ page_number: nil,
56
+ # Number of items per page
57
+ page_size: nil,
58
+ # Filter by specific phone number (E.164 format)
59
+ phone_number: nil,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ enterprise_id: String,
68
+ page_number: Integer,
69
+ page_size: Integer,
70
+ phone_number: String,
71
+ request_options: Telnyx::RequestOptions
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,288 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Enterprises
6
+ module Reputation
7
+ class NumberListResponse < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # Unique identifier
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :id
19
+
20
+ sig { params(id: String).void }
21
+ attr_writer :id
22
+
23
+ # When the number was associated
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_reader :created_at
26
+
27
+ sig { params(created_at: Time).void }
28
+ attr_writer :created_at
29
+
30
+ # ID of the associated enterprise
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :enterprise_id
33
+
34
+ sig { params(enterprise_id: String).void }
35
+ attr_writer :enterprise_id
36
+
37
+ # Phone number in E.164 format
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :phone_number
40
+
41
+ sig { params(phone_number: String).void }
42
+ attr_writer :phone_number
43
+
44
+ # Reputation metrics (null if not yet fetched)
45
+ sig do
46
+ returns(
47
+ T.nilable(
48
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::Variants
49
+ )
50
+ )
51
+ end
52
+ attr_reader :reputation_data
53
+
54
+ sig do
55
+ params(
56
+ reputation_data:
57
+ T.nilable(
58
+ T.any(
59
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::OrHash,
60
+ T.anything
61
+ )
62
+ )
63
+ ).void
64
+ end
65
+ attr_writer :reputation_data
66
+
67
+ # When the record was last updated
68
+ sig { returns(T.nilable(Time)) }
69
+ attr_reader :updated_at
70
+
71
+ sig { params(updated_at: Time).void }
72
+ attr_writer :updated_at
73
+
74
+ sig do
75
+ params(
76
+ id: String,
77
+ created_at: Time,
78
+ enterprise_id: String,
79
+ phone_number: String,
80
+ reputation_data:
81
+ T.nilable(
82
+ T.any(
83
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::OrHash,
84
+ T.anything
85
+ )
86
+ ),
87
+ updated_at: Time
88
+ ).returns(T.attached_class)
89
+ end
90
+ def self.new(
91
+ # Unique identifier
92
+ id: nil,
93
+ # When the number was associated
94
+ created_at: nil,
95
+ # ID of the associated enterprise
96
+ enterprise_id: nil,
97
+ # Phone number in E.164 format
98
+ phone_number: nil,
99
+ # Reputation metrics (null if not yet fetched)
100
+ reputation_data: nil,
101
+ # When the record was last updated
102
+ updated_at: nil
103
+ )
104
+ end
105
+
106
+ sig do
107
+ override.returns(
108
+ {
109
+ id: String,
110
+ created_at: Time,
111
+ enterprise_id: String,
112
+ phone_number: String,
113
+ reputation_data:
114
+ T.nilable(
115
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::Variants
116
+ ),
117
+ updated_at: Time
118
+ }
119
+ )
120
+ end
121
+ def to_hash
122
+ end
123
+
124
+ # Reputation metrics (null if not yet fetched)
125
+ module ReputationData
126
+ extend Telnyx::Internal::Type::Union
127
+
128
+ Variants =
129
+ T.type_alias do
130
+ T.nilable(
131
+ T.any(
132
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData,
133
+ T.anything
134
+ )
135
+ )
136
+ end
137
+
138
+ class ReputationData < Telnyx::Internal::Type::BaseModel
139
+ OrHash =
140
+ T.type_alias do
141
+ T.any(
142
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData,
143
+ Telnyx::Internal::AnyHash
144
+ )
145
+ end
146
+
147
+ # Connection quality metric (0–100)
148
+ sig { returns(T.nilable(Integer)) }
149
+ attr_accessor :connection_score
150
+
151
+ # Engagement metric (0–100). Higher = more positive engagement
152
+ sig { returns(T.nilable(Integer)) }
153
+ attr_accessor :engagement_score
154
+
155
+ # Timestamp of the last reputation data refresh
156
+ sig { returns(T.nilable(Time)) }
157
+ attr_accessor :last_refreshed_at
158
+
159
+ # Maturity metric (0–100). Higher = more established number
160
+ sig { returns(T.nilable(Integer)) }
161
+ attr_accessor :maturity_score
162
+
163
+ # Sentiment metric (0–100). Higher = more positive sentiment
164
+ sig { returns(T.nilable(Integer)) }
165
+ attr_accessor :sentiment_score
166
+
167
+ # Spam category classification (e.g., Telemarketing, Debt Collector)
168
+ sig { returns(T.nilable(String)) }
169
+ attr_accessor :spam_category
170
+
171
+ # Overall spam risk level
172
+ sig do
173
+ returns(
174
+ T.nilable(
175
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
176
+ )
177
+ )
178
+ end
179
+ attr_accessor :spam_risk
180
+
181
+ # Reputation metrics
182
+ sig do
183
+ params(
184
+ connection_score: T.nilable(Integer),
185
+ engagement_score: T.nilable(Integer),
186
+ last_refreshed_at: T.nilable(Time),
187
+ maturity_score: T.nilable(Integer),
188
+ sentiment_score: T.nilable(Integer),
189
+ spam_category: T.nilable(String),
190
+ spam_risk:
191
+ T.nilable(
192
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::OrSymbol
193
+ )
194
+ ).returns(T.attached_class)
195
+ end
196
+ def self.new(
197
+ # Connection quality metric (0–100)
198
+ connection_score: nil,
199
+ # Engagement metric (0–100). Higher = more positive engagement
200
+ engagement_score: nil,
201
+ # Timestamp of the last reputation data refresh
202
+ last_refreshed_at: nil,
203
+ # Maturity metric (0–100). Higher = more established number
204
+ maturity_score: nil,
205
+ # Sentiment metric (0–100). Higher = more positive sentiment
206
+ sentiment_score: nil,
207
+ # Spam category classification (e.g., Telemarketing, Debt Collector)
208
+ spam_category: nil,
209
+ # Overall spam risk level
210
+ spam_risk: nil
211
+ )
212
+ end
213
+
214
+ sig do
215
+ override.returns(
216
+ {
217
+ connection_score: T.nilable(Integer),
218
+ engagement_score: T.nilable(Integer),
219
+ last_refreshed_at: T.nilable(Time),
220
+ maturity_score: T.nilable(Integer),
221
+ sentiment_score: T.nilable(Integer),
222
+ spam_category: T.nilable(String),
223
+ spam_risk:
224
+ T.nilable(
225
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
226
+ )
227
+ }
228
+ )
229
+ end
230
+ def to_hash
231
+ end
232
+
233
+ # Overall spam risk level
234
+ module SpamRisk
235
+ extend Telnyx::Internal::Type::Enum
236
+
237
+ TaggedSymbol =
238
+ T.type_alias do
239
+ T.all(
240
+ Symbol,
241
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk
242
+ )
243
+ end
244
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
245
+
246
+ LOW =
247
+ T.let(
248
+ :low,
249
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
250
+ )
251
+ MEDIUM =
252
+ T.let(
253
+ :medium,
254
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
255
+ )
256
+ HIGH =
257
+ T.let(
258
+ :high,
259
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
260
+ )
261
+
262
+ sig do
263
+ override.returns(
264
+ T::Array[
265
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::ReputationData::SpamRisk::TaggedSymbol
266
+ ]
267
+ )
268
+ end
269
+ def self.values
270
+ end
271
+ end
272
+ end
273
+
274
+ sig do
275
+ override.returns(
276
+ T::Array[
277
+ Telnyx::Models::Enterprises::Reputation::NumberListResponse::ReputationData::Variants
278
+ ]
279
+ )
280
+ end
281
+ def self.variants
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end
287
+ end
288
+ end