surge_api 0.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 (212) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +28 -0
  4. data/README.md +286 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/surge_api/client.rb +106 -0
  7. data/lib/surge_api/errors.rb +228 -0
  8. data/lib/surge_api/file_part.rb +55 -0
  9. data/lib/surge_api/internal/transport/base_client.rb +567 -0
  10. data/lib/surge_api/internal/transport/pooled_net_requester.rb +201 -0
  11. data/lib/surge_api/internal/type/array_of.rb +168 -0
  12. data/lib/surge_api/internal/type/base_model.rb +531 -0
  13. data/lib/surge_api/internal/type/base_page.rb +55 -0
  14. data/lib/surge_api/internal/type/boolean.rb +77 -0
  15. data/lib/surge_api/internal/type/converter.rb +327 -0
  16. data/lib/surge_api/internal/type/enum.rb +131 -0
  17. data/lib/surge_api/internal/type/file_input.rb +108 -0
  18. data/lib/surge_api/internal/type/hash_of.rb +188 -0
  19. data/lib/surge_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/surge_api/internal/type/union.rb +250 -0
  21. data/lib/surge_api/internal/type/unknown.rb +81 -0
  22. data/lib/surge_api/internal/util.rb +915 -0
  23. data/lib/surge_api/internal.rb +20 -0
  24. data/lib/surge_api/models/account.rb +60 -0
  25. data/lib/surge_api/models/account_create_params.rb +481 -0
  26. data/lib/surge_api/models/account_retrieve_status_params.rb +32 -0
  27. data/lib/surge_api/models/account_status.rb +104 -0
  28. data/lib/surge_api/models/account_update_params.rb +480 -0
  29. data/lib/surge_api/models/blast.rb +61 -0
  30. data/lib/surge_api/models/blast_create_params.rb +90 -0
  31. data/lib/surge_api/models/call_ended_webhook_event.rb +106 -0
  32. data/lib/surge_api/models/campaign.rb +208 -0
  33. data/lib/surge_api/models/campaign_approved_webhook_event.rb +74 -0
  34. data/lib/surge_api/models/campaign_create_params.rb +202 -0
  35. data/lib/surge_api/models/contact.rb +59 -0
  36. data/lib/surge_api/models/contact_create_params.rb +54 -0
  37. data/lib/surge_api/models/contact_retrieve_params.rb +14 -0
  38. data/lib/surge_api/models/contact_update_params.rb +54 -0
  39. data/lib/surge_api/models/conversation_created_webhook_event.rb +70 -0
  40. data/lib/surge_api/models/error.rb +34 -0
  41. data/lib/surge_api/models/message.rb +146 -0
  42. data/lib/surge_api/models/message_create_params.rb +153 -0
  43. data/lib/surge_api/models/message_delivered_webhook_event.rb +159 -0
  44. data/lib/surge_api/models/message_failed_webhook_event.rb +167 -0
  45. data/lib/surge_api/models/message_received_webhook_event.rb +159 -0
  46. data/lib/surge_api/models/message_sent_webhook_event.rb +159 -0
  47. data/lib/surge_api/models/organization.rb +419 -0
  48. data/lib/surge_api/models/phone_number.rb +48 -0
  49. data/lib/surge_api/models/phone_number_purchase_params.rb +65 -0
  50. data/lib/surge_api/models/unwrap_webhook_event.rb +26 -0
  51. data/lib/surge_api/models/user.rb +51 -0
  52. data/lib/surge_api/models/user_create_params.rb +46 -0
  53. data/lib/surge_api/models/user_create_token_params.rb +22 -0
  54. data/lib/surge_api/models/user_retrieve_params.rb +14 -0
  55. data/lib/surge_api/models/user_token_response.rb +19 -0
  56. data/lib/surge_api/models/user_update_params.rb +46 -0
  57. data/lib/surge_api/models/verification.rb +58 -0
  58. data/lib/surge_api/models/verification_check.rb +43 -0
  59. data/lib/surge_api/models/verification_check_params.rb +22 -0
  60. data/lib/surge_api/models/verification_create_params.rb +22 -0
  61. data/lib/surge_api/models/webhook_unwrap_params.rb +14 -0
  62. data/lib/surge_api/models.rb +117 -0
  63. data/lib/surge_api/request_options.rb +77 -0
  64. data/lib/surge_api/resources/accounts.rb +102 -0
  65. data/lib/surge_api/resources/blasts.rb +53 -0
  66. data/lib/surge_api/resources/campaigns.rb +57 -0
  67. data/lib/surge_api/resources/contacts.rb +99 -0
  68. data/lib/surge_api/resources/messages.rb +75 -0
  69. data/lib/surge_api/resources/phone_numbers.rb +48 -0
  70. data/lib/surge_api/resources/users.rb +119 -0
  71. data/lib/surge_api/resources/verifications.rb +60 -0
  72. data/lib/surge_api/resources/webhooks.rb +22 -0
  73. data/lib/surge_api/version.rb +5 -0
  74. data/lib/surge_api.rb +100 -0
  75. data/manifest.yaml +15 -0
  76. data/rbi/surge_api/client.rbi +73 -0
  77. data/rbi/surge_api/errors.rbi +205 -0
  78. data/rbi/surge_api/file_part.rbi +37 -0
  79. data/rbi/surge_api/internal/transport/base_client.rbi +292 -0
  80. data/rbi/surge_api/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/surge_api/internal/type/array_of.rbi +104 -0
  82. data/rbi/surge_api/internal/type/base_model.rbi +302 -0
  83. data/rbi/surge_api/internal/type/base_page.rbi +42 -0
  84. data/rbi/surge_api/internal/type/boolean.rbi +58 -0
  85. data/rbi/surge_api/internal/type/converter.rbi +216 -0
  86. data/rbi/surge_api/internal/type/enum.rbi +82 -0
  87. data/rbi/surge_api/internal/type/file_input.rbi +59 -0
  88. data/rbi/surge_api/internal/type/hash_of.rbi +104 -0
  89. data/rbi/surge_api/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/surge_api/internal/type/union.rbi +128 -0
  91. data/rbi/surge_api/internal/type/unknown.rbi +58 -0
  92. data/rbi/surge_api/internal/util.rbi +487 -0
  93. data/rbi/surge_api/internal.rbi +16 -0
  94. data/rbi/surge_api/models/account.rbi +83 -0
  95. data/rbi/surge_api/models/account_create_params.rbi +1104 -0
  96. data/rbi/surge_api/models/account_retrieve_status_params.rbi +96 -0
  97. data/rbi/surge_api/models/account_status.rbi +185 -0
  98. data/rbi/surge_api/models/account_update_params.rbi +1105 -0
  99. data/rbi/surge_api/models/blast.rbi +108 -0
  100. data/rbi/surge_api/models/blast_create_params.rbi +145 -0
  101. data/rbi/surge_api/models/call_ended_webhook_event.rbi +205 -0
  102. data/rbi/surge_api/models/campaign.rbi +331 -0
  103. data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +149 -0
  104. data/rbi/surge_api/models/campaign_create_params.rbi +386 -0
  105. data/rbi/surge_api/models/contact.rbi +88 -0
  106. data/rbi/surge_api/models/contact_create_params.rbi +87 -0
  107. data/rbi/surge_api/models/contact_retrieve_params.rbi +27 -0
  108. data/rbi/surge_api/models/contact_update_params.rbi +87 -0
  109. data/rbi/surge_api/models/conversation_created_webhook_event.rbi +129 -0
  110. data/rbi/surge_api/models/error.rbi +51 -0
  111. data/rbi/surge_api/models/message.rbi +283 -0
  112. data/rbi/surge_api/models/message_create_params.rbi +281 -0
  113. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +331 -0
  114. data/rbi/surge_api/models/message_failed_webhook_event.rbi +335 -0
  115. data/rbi/surge_api/models/message_received_webhook_event.rbi +331 -0
  116. data/rbi/surge_api/models/message_sent_webhook_event.rbi +322 -0
  117. data/rbi/surge_api/models/organization.rbi +649 -0
  118. data/rbi/surge_api/models/phone_number.rbi +72 -0
  119. data/rbi/surge_api/models/phone_number_purchase_params.rbi +122 -0
  120. data/rbi/surge_api/models/unwrap_webhook_event.rbi +26 -0
  121. data/rbi/surge_api/models/user.rbi +80 -0
  122. data/rbi/surge_api/models/user_create_params.rbi +76 -0
  123. data/rbi/surge_api/models/user_create_token_params.rbi +46 -0
  124. data/rbi/surge_api/models/user_retrieve_params.rbi +27 -0
  125. data/rbi/surge_api/models/user_token_response.rbi +31 -0
  126. data/rbi/surge_api/models/user_update_params.rbi +76 -0
  127. data/rbi/surge_api/models/verification.rbi +86 -0
  128. data/rbi/surge_api/models/verification_check.rbi +84 -0
  129. data/rbi/surge_api/models/verification_check_params.rbi +40 -0
  130. data/rbi/surge_api/models/verification_create_params.rbi +40 -0
  131. data/rbi/surge_api/models/webhook_unwrap_params.rbi +27 -0
  132. data/rbi/surge_api/models.rbi +80 -0
  133. data/rbi/surge_api/request_options.rbi +59 -0
  134. data/rbi/surge_api/resources/accounts.rbi +94 -0
  135. data/rbi/surge_api/resources/blasts.rbi +48 -0
  136. data/rbi/surge_api/resources/campaigns.rbi +115 -0
  137. data/rbi/surge_api/resources/contacts.rbi +85 -0
  138. data/rbi/surge_api/resources/messages.rbi +72 -0
  139. data/rbi/surge_api/resources/phone_numbers.rbi +43 -0
  140. data/rbi/surge_api/resources/users.rbi +96 -0
  141. data/rbi/surge_api/resources/verifications.rbi +43 -0
  142. data/rbi/surge_api/resources/webhooks.rbi +31 -0
  143. data/rbi/surge_api/version.rbi +5 -0
  144. data/sig/surge_api/client.rbs +42 -0
  145. data/sig/surge_api/errors.rbs +117 -0
  146. data/sig/surge_api/file_part.rbs +21 -0
  147. data/sig/surge_api/internal/transport/base_client.rbs +131 -0
  148. data/sig/surge_api/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/surge_api/internal/type/array_of.rbs +48 -0
  150. data/sig/surge_api/internal/type/base_model.rbs +102 -0
  151. data/sig/surge_api/internal/type/base_page.rbs +24 -0
  152. data/sig/surge_api/internal/type/boolean.rbs +26 -0
  153. data/sig/surge_api/internal/type/converter.rbs +79 -0
  154. data/sig/surge_api/internal/type/enum.rbs +32 -0
  155. data/sig/surge_api/internal/type/file_input.rbs +25 -0
  156. data/sig/surge_api/internal/type/hash_of.rbs +48 -0
  157. data/sig/surge_api/internal/type/request_parameters.rbs +17 -0
  158. data/sig/surge_api/internal/type/union.rbs +52 -0
  159. data/sig/surge_api/internal/type/unknown.rbs +26 -0
  160. data/sig/surge_api/internal/util.rbs +185 -0
  161. data/sig/surge_api/internal.rbs +9 -0
  162. data/sig/surge_api/models/account.rbs +40 -0
  163. data/sig/surge_api/models/account_create_params.rbs +433 -0
  164. data/sig/surge_api/models/account_retrieve_status_params.rbs +40 -0
  165. data/sig/surge_api/models/account_status.rbs +71 -0
  166. data/sig/surge_api/models/account_update_params.rbs +435 -0
  167. data/sig/surge_api/models/blast.rbs +64 -0
  168. data/sig/surge_api/models/blast_create_params.rbs +82 -0
  169. data/sig/surge_api/models/call_ended_webhook_event.rbs +99 -0
  170. data/sig/surge_api/models/campaign.rbs +122 -0
  171. data/sig/surge_api/models/campaign_approved_webhook_event.rbs +67 -0
  172. data/sig/surge_api/models/campaign_create_params.rbs +127 -0
  173. data/sig/surge_api/models/contact.rbs +53 -0
  174. data/sig/surge_api/models/contact_create_params.rbs +54 -0
  175. data/sig/surge_api/models/contact_retrieve_params.rbs +15 -0
  176. data/sig/surge_api/models/contact_update_params.rbs +54 -0
  177. data/sig/surge_api/models/conversation_created_webhook_event.rbs +62 -0
  178. data/sig/surge_api/models/error.rbs +27 -0
  179. data/sig/surge_api/models/message.rbs +138 -0
  180. data/sig/surge_api/models/message_create_params.rbs +140 -0
  181. data/sig/surge_api/models/message_delivered_webhook_event.rbs +143 -0
  182. data/sig/surge_api/models/message_failed_webhook_event.rbs +148 -0
  183. data/sig/surge_api/models/message_received_webhook_event.rbs +143 -0
  184. data/sig/surge_api/models/message_sent_webhook_event.rbs +143 -0
  185. data/sig/surge_api/models/organization.rbs +385 -0
  186. data/sig/surge_api/models/phone_number.rbs +37 -0
  187. data/sig/surge_api/models/phone_number_purchase_params.rbs +62 -0
  188. data/sig/surge_api/models/unwrap_webhook_event.rbs +18 -0
  189. data/sig/surge_api/models/user.rbs +48 -0
  190. data/sig/surge_api/models/user_create_params.rbs +47 -0
  191. data/sig/surge_api/models/user_create_token_params.rbs +26 -0
  192. data/sig/surge_api/models/user_retrieve_params.rbs +15 -0
  193. data/sig/surge_api/models/user_token_response.rbs +15 -0
  194. data/sig/surge_api/models/user_update_params.rbs +47 -0
  195. data/sig/surge_api/models/verification.rbs +48 -0
  196. data/sig/surge_api/models/verification_check.rbs +45 -0
  197. data/sig/surge_api/models/verification_check_params.rbs +23 -0
  198. data/sig/surge_api/models/verification_create_params.rbs +23 -0
  199. data/sig/surge_api/models/webhook_unwrap_params.rbs +15 -0
  200. data/sig/surge_api/models.rbs +77 -0
  201. data/sig/surge_api/request_options.rbs +34 -0
  202. data/sig/surge_api/resources/accounts.rbs +30 -0
  203. data/sig/surge_api/resources/blasts.rbs +19 -0
  204. data/sig/surge_api/resources/campaigns.rbs +21 -0
  205. data/sig/surge_api/resources/contacts.rbs +32 -0
  206. data/sig/surge_api/resources/messages.rbs +18 -0
  207. data/sig/surge_api/resources/phone_numbers.rbs +16 -0
  208. data/sig/surge_api/resources/users.rbs +36 -0
  209. data/sig/surge_api/resources/verifications.rbs +18 -0
  210. data/sig/surge_api/resources/webhooks.rbs +17 -0
  211. data/sig/surge_api/version.rbs +3 -0
  212. metadata +269 -0
@@ -0,0 +1,433 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type account_create_params =
4
+ {
5
+ name: String,
6
+ brand_name: String?,
7
+ organization: SurgeAPI::AccountCreateParams::Organization,
8
+ time_zone: String
9
+ }
10
+ & SurgeAPI::Internal::Type::request_parameters
11
+
12
+ class AccountCreateParams < SurgeAPI::Internal::Type::BaseModel
13
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
14
+ include SurgeAPI::Internal::Type::RequestParameters
15
+
16
+ attr_accessor name: String
17
+
18
+ attr_accessor brand_name: String?
19
+
20
+ attr_reader organization: SurgeAPI::AccountCreateParams::Organization?
21
+
22
+ def organization=: (
23
+ SurgeAPI::AccountCreateParams::Organization
24
+ ) -> SurgeAPI::AccountCreateParams::Organization
25
+
26
+ attr_reader time_zone: String?
27
+
28
+ def time_zone=: (String) -> String
29
+
30
+ def initialize: (
31
+ name: String,
32
+ ?brand_name: String?,
33
+ ?organization: SurgeAPI::AccountCreateParams::Organization,
34
+ ?time_zone: String,
35
+ ?request_options: SurgeAPI::request_opts
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ name: String,
40
+ brand_name: String?,
41
+ organization: SurgeAPI::AccountCreateParams::Organization,
42
+ time_zone: String,
43
+ request_options: SurgeAPI::RequestOptions
44
+ }
45
+
46
+ type organization =
47
+ {
48
+ address: SurgeAPI::AccountCreateParams::Organization::Address,
49
+ contact: SurgeAPI::AccountCreateParams::Organization::Contact?,
50
+ country: String?,
51
+ email: String?,
52
+ identifier: String?,
53
+ identifier_type: SurgeAPI::Models::AccountCreateParams::Organization::identifier_type?,
54
+ industry: SurgeAPI::Models::AccountCreateParams::Organization::industry?,
55
+ mobile_number: String?,
56
+ regions_of_operation: ::Array[SurgeAPI::Models::AccountCreateParams::Organization::regions_of_operation]?,
57
+ registered_name: String?,
58
+ stock_exchange: SurgeAPI::Models::AccountCreateParams::Organization::stock_exchange?,
59
+ stock_symbol: String?,
60
+ type: SurgeAPI::Models::AccountCreateParams::Organization::type_?,
61
+ website: String?
62
+ }
63
+
64
+ class Organization < SurgeAPI::Internal::Type::BaseModel
65
+ attr_reader address: SurgeAPI::AccountCreateParams::Organization::Address?
66
+
67
+ def address=: (
68
+ SurgeAPI::AccountCreateParams::Organization::Address
69
+ ) -> SurgeAPI::AccountCreateParams::Organization::Address
70
+
71
+ attr_accessor contact: SurgeAPI::AccountCreateParams::Organization::Contact?
72
+
73
+ attr_accessor country: String?
74
+
75
+ attr_accessor email: String?
76
+
77
+ attr_accessor identifier: String?
78
+
79
+ attr_accessor identifier_type: SurgeAPI::Models::AccountCreateParams::Organization::identifier_type?
80
+
81
+ attr_accessor industry: SurgeAPI::Models::AccountCreateParams::Organization::industry?
82
+
83
+ attr_accessor mobile_number: String?
84
+
85
+ attr_accessor regions_of_operation: ::Array[SurgeAPI::Models::AccountCreateParams::Organization::regions_of_operation]?
86
+
87
+ attr_accessor registered_name: String?
88
+
89
+ attr_accessor stock_exchange: SurgeAPI::Models::AccountCreateParams::Organization::stock_exchange?
90
+
91
+ attr_accessor stock_symbol: String?
92
+
93
+ attr_accessor type: SurgeAPI::Models::AccountCreateParams::Organization::type_?
94
+
95
+ attr_accessor website: String?
96
+
97
+ def initialize: (
98
+ ?address: SurgeAPI::AccountCreateParams::Organization::Address,
99
+ ?contact: SurgeAPI::AccountCreateParams::Organization::Contact?,
100
+ ?country: String?,
101
+ ?email: String?,
102
+ ?identifier: String?,
103
+ ?identifier_type: SurgeAPI::Models::AccountCreateParams::Organization::identifier_type?,
104
+ ?industry: SurgeAPI::Models::AccountCreateParams::Organization::industry?,
105
+ ?mobile_number: String?,
106
+ ?regions_of_operation: ::Array[SurgeAPI::Models::AccountCreateParams::Organization::regions_of_operation]?,
107
+ ?registered_name: String?,
108
+ ?stock_exchange: SurgeAPI::Models::AccountCreateParams::Organization::stock_exchange?,
109
+ ?stock_symbol: String?,
110
+ ?type: SurgeAPI::Models::AccountCreateParams::Organization::type_?,
111
+ ?website: String?
112
+ ) -> void
113
+
114
+ def to_hash: -> {
115
+ address: SurgeAPI::AccountCreateParams::Organization::Address,
116
+ contact: SurgeAPI::AccountCreateParams::Organization::Contact?,
117
+ country: String?,
118
+ email: String?,
119
+ identifier: String?,
120
+ identifier_type: SurgeAPI::Models::AccountCreateParams::Organization::identifier_type?,
121
+ industry: SurgeAPI::Models::AccountCreateParams::Organization::industry?,
122
+ mobile_number: String?,
123
+ regions_of_operation: ::Array[SurgeAPI::Models::AccountCreateParams::Organization::regions_of_operation]?,
124
+ registered_name: String?,
125
+ stock_exchange: SurgeAPI::Models::AccountCreateParams::Organization::stock_exchange?,
126
+ stock_symbol: String?,
127
+ type: SurgeAPI::Models::AccountCreateParams::Organization::type_?,
128
+ website: String?
129
+ }
130
+
131
+ type address =
132
+ {
133
+ country: String?,
134
+ :line1 => String?,
135
+ :line2 => String?,
136
+ locality: String?,
137
+ name: String?,
138
+ postal_code: String?,
139
+ region: String?
140
+ }
141
+
142
+ class Address < SurgeAPI::Internal::Type::BaseModel
143
+ attr_accessor country: String?
144
+
145
+ attr_accessor line1: String?
146
+
147
+ attr_accessor line2: String?
148
+
149
+ attr_accessor locality: String?
150
+
151
+ attr_accessor name: String?
152
+
153
+ attr_accessor postal_code: String?
154
+
155
+ attr_accessor region: String?
156
+
157
+ def initialize: (
158
+ ?country: String?,
159
+ ?line1: String?,
160
+ ?line2: String?,
161
+ ?locality: String?,
162
+ ?name: String?,
163
+ ?postal_code: String?,
164
+ ?region: String?
165
+ ) -> void
166
+
167
+ def to_hash: -> {
168
+ country: String?,
169
+ :line1 => String?,
170
+ :line2 => String?,
171
+ locality: String?,
172
+ name: String?,
173
+ postal_code: String?,
174
+ region: String?
175
+ }
176
+ end
177
+
178
+ type contact =
179
+ {
180
+ email: String?,
181
+ first_name: String?,
182
+ last_name: String?,
183
+ phone_number: String?,
184
+ title: SurgeAPI::Models::AccountCreateParams::Organization::Contact::title?,
185
+ title_other: String?
186
+ }
187
+
188
+ class Contact < SurgeAPI::Internal::Type::BaseModel
189
+ attr_accessor email: String?
190
+
191
+ attr_accessor first_name: String?
192
+
193
+ attr_accessor last_name: String?
194
+
195
+ attr_accessor phone_number: String?
196
+
197
+ attr_accessor title: SurgeAPI::Models::AccountCreateParams::Organization::Contact::title?
198
+
199
+ attr_accessor title_other: String?
200
+
201
+ def initialize: (
202
+ ?email: String?,
203
+ ?first_name: String?,
204
+ ?last_name: String?,
205
+ ?phone_number: String?,
206
+ ?title: SurgeAPI::Models::AccountCreateParams::Organization::Contact::title?,
207
+ ?title_other: String?
208
+ ) -> void
209
+
210
+ def to_hash: -> {
211
+ email: String?,
212
+ first_name: String?,
213
+ last_name: String?,
214
+ phone_number: String?,
215
+ title: SurgeAPI::Models::AccountCreateParams::Organization::Contact::title?,
216
+ title_other: String?
217
+ }
218
+
219
+ type title =
220
+ :ceo | :cfo | :director | :gm | :vp | :general_counsel | :other
221
+
222
+ module Title
223
+ extend SurgeAPI::Internal::Type::Enum
224
+
225
+ CEO: :ceo
226
+ CFO: :cfo
227
+ DIRECTOR: :director
228
+ GM: :gm
229
+ VP: :vp
230
+ GENERAL_COUNSEL: :general_counsel
231
+ OTHER: :other
232
+
233
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::Contact::title]
234
+ end
235
+ end
236
+
237
+ type identifier_type = :ein
238
+
239
+ module IdentifierType
240
+ extend SurgeAPI::Internal::Type::Enum
241
+
242
+ EIN: :ein
243
+
244
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::identifier_type]
245
+ end
246
+
247
+ type industry =
248
+ :agriculture
249
+ | :automotive
250
+ | :banking
251
+ | :construction
252
+ | :consumer
253
+ | :education
254
+ | :electronics
255
+ | :energy
256
+ | :engineering
257
+ | :fast_moving_consumer_goods
258
+ | :financial
259
+ | :fintech
260
+ | :food_and_beverage
261
+ | :government
262
+ | :healthcare
263
+ | :hospitality
264
+ | :insurance
265
+ | :jewelry
266
+ | :legal
267
+ | :manufacturing
268
+ | :media
269
+ | :not_for_profit
270
+ | :oil_and_gas
271
+ | :online
272
+ | :professional_services
273
+ | :raw_materials
274
+ | :real_estate
275
+ | :religion
276
+ | :retail
277
+ | :technology
278
+ | :telecommunications
279
+ | :transportation
280
+ | :travel
281
+
282
+ module Industry
283
+ extend SurgeAPI::Internal::Type::Enum
284
+
285
+ AGRICULTURE: :agriculture
286
+ AUTOMOTIVE: :automotive
287
+ BANKING: :banking
288
+ CONSTRUCTION: :construction
289
+ CONSUMER: :consumer
290
+ EDUCATION: :education
291
+ ELECTRONICS: :electronics
292
+ ENERGY: :energy
293
+ ENGINEERING: :engineering
294
+ FAST_MOVING_CONSUMER_GOODS: :fast_moving_consumer_goods
295
+ FINANCIAL: :financial
296
+ FINTECH: :fintech
297
+ FOOD_AND_BEVERAGE: :food_and_beverage
298
+ GOVERNMENT: :government
299
+ HEALTHCARE: :healthcare
300
+ HOSPITALITY: :hospitality
301
+ INSURANCE: :insurance
302
+ JEWELRY: :jewelry
303
+ LEGAL: :legal
304
+ MANUFACTURING: :manufacturing
305
+ MEDIA: :media
306
+ NOT_FOR_PROFIT: :not_for_profit
307
+ OIL_AND_GAS: :oil_and_gas
308
+ ONLINE: :online
309
+ PROFESSIONAL_SERVICES: :professional_services
310
+ RAW_MATERIALS: :raw_materials
311
+ REAL_ESTATE: :real_estate
312
+ RELIGION: :religion
313
+ RETAIL: :retail
314
+ TECHNOLOGY: :technology
315
+ TELECOMMUNICATIONS: :telecommunications
316
+ TRANSPORTATION: :transportation
317
+ TRAVEL: :travel
318
+
319
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::industry]
320
+ end
321
+
322
+ type regions_of_operation =
323
+ :africa
324
+ | :asia
325
+ | :australia
326
+ | :europe
327
+ | :latin_america
328
+ | :usa_and_canada
329
+
330
+ module RegionsOfOperation
331
+ extend SurgeAPI::Internal::Type::Enum
332
+
333
+ AFRICA: :africa
334
+ ASIA: :asia
335
+ AUSTRALIA: :australia
336
+ EUROPE: :europe
337
+ LATIN_AMERICA: :latin_america
338
+ USA_AND_CANADA: :usa_and_canada
339
+
340
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::regions_of_operation]
341
+ end
342
+
343
+ type stock_exchange =
344
+ :amex
345
+ | :amx
346
+ | :asx
347
+ | :b3
348
+ | :bme
349
+ | :bse
350
+ | :fra
351
+ | :icex
352
+ | :jpx
353
+ | :jse
354
+ | :krx
355
+ | :lon
356
+ | :nasdaq
357
+ | :none
358
+ | :nyse
359
+ | :nse
360
+ | :omx
361
+ | :other
362
+ | :sehk
363
+ | :sgx
364
+ | :sse
365
+ | :sto
366
+ | :swx
367
+ | :szse
368
+ | :tsx
369
+ | :twse
370
+ | :vse
371
+
372
+ module StockExchange
373
+ extend SurgeAPI::Internal::Type::Enum
374
+
375
+ AMEX: :amex
376
+ AMX: :amx
377
+ ASX: :asx
378
+ B3: :b3
379
+ BME: :bme
380
+ BSE: :bse
381
+ FRA: :fra
382
+ ICEX: :icex
383
+ JPX: :jpx
384
+ JSE: :jse
385
+ KRX: :krx
386
+ LON: :lon
387
+ NASDAQ: :nasdaq
388
+ NONE: :none
389
+ NYSE: :nyse
390
+ NSE: :nse
391
+ OMX: :omx
392
+ OTHER: :other
393
+ SEHK: :sehk
394
+ SGX: :sgx
395
+ SSE: :sse
396
+ STO: :sto
397
+ SWX: :swx
398
+ SZSE: :szse
399
+ TSX: :tsx
400
+ TWSE: :twse
401
+ VSE: :vse
402
+
403
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::stock_exchange]
404
+ end
405
+
406
+ type type_ =
407
+ :co_op
408
+ | :government
409
+ | :llc
410
+ | :non_profit
411
+ | :partnership
412
+ | :private_corporation
413
+ | :public_corporation
414
+ | :sole_proprietor
415
+
416
+ module Type
417
+ extend SurgeAPI::Internal::Type::Enum
418
+
419
+ CO_OP: :co_op
420
+ GOVERNMENT: :government
421
+ LLC: :llc
422
+ NON_PROFIT: :non_profit
423
+ PARTNERSHIP: :partnership
424
+ PRIVATE_CORPORATION: :private_corporation
425
+ PUBLIC_CORPORATION: :public_corporation
426
+ SOLE_PROPRIETOR: :sole_proprietor
427
+
428
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountCreateParams::Organization::type_]
429
+ end
430
+ end
431
+ end
432
+ end
433
+ end
@@ -0,0 +1,40 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type account_retrieve_status_params =
4
+ {
5
+ capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
6
+ }
7
+ & SurgeAPI::Internal::Type::request_parameters
8
+
9
+ class AccountRetrieveStatusParams < SurgeAPI::Internal::Type::BaseModel
10
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
11
+ include SurgeAPI::Internal::Type::RequestParameters
12
+
13
+ attr_reader capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]?
14
+
15
+ def capabilities=: (
16
+ ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
17
+ ) -> ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
18
+
19
+ def initialize: (
20
+ ?capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability],
21
+ ?request_options: SurgeAPI::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability],
26
+ request_options: SurgeAPI::RequestOptions
27
+ }
28
+
29
+ type capability = :local_messaging
30
+
31
+ module Capability
32
+ extend SurgeAPI::Internal::Type::Enum
33
+
34
+ LOCAL_MESSAGING: :local_messaging
35
+
36
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,71 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type account_status =
4
+ { capabilities: ::Hash[Symbol, SurgeAPI::AccountStatus::Capability] }
5
+
6
+ class AccountStatus < SurgeAPI::Internal::Type::BaseModel
7
+ attr_accessor capabilities: ::Hash[Symbol, SurgeAPI::AccountStatus::Capability]
8
+
9
+ def initialize: (
10
+ capabilities: ::Hash[Symbol, SurgeAPI::AccountStatus::Capability]
11
+ ) -> void
12
+
13
+ def to_hash: -> {
14
+ capabilities: ::Hash[Symbol, SurgeAPI::AccountStatus::Capability]
15
+ }
16
+
17
+ type capability =
18
+ {
19
+ errors: ::Array[SurgeAPI::AccountStatus::Capability::Error],
20
+ fields_needed: ::Array[String],
21
+ status: SurgeAPI::Models::AccountStatus::Capability::status
22
+ }
23
+
24
+ class Capability < SurgeAPI::Internal::Type::BaseModel
25
+ attr_accessor errors: ::Array[SurgeAPI::AccountStatus::Capability::Error]
26
+
27
+ attr_accessor fields_needed: ::Array[String]
28
+
29
+ attr_accessor status: SurgeAPI::Models::AccountStatus::Capability::status
30
+
31
+ def initialize: (
32
+ errors: ::Array[SurgeAPI::AccountStatus::Capability::Error],
33
+ fields_needed: ::Array[String],
34
+ status: SurgeAPI::Models::AccountStatus::Capability::status
35
+ ) -> void
36
+
37
+ def to_hash: -> {
38
+ errors: ::Array[SurgeAPI::AccountStatus::Capability::Error],
39
+ fields_needed: ::Array[String],
40
+ status: SurgeAPI::Models::AccountStatus::Capability::status
41
+ }
42
+
43
+ type error = { field: String, message: String, type: String }
44
+
45
+ class Error < SurgeAPI::Internal::Type::BaseModel
46
+ attr_accessor field: String
47
+
48
+ attr_accessor message: String
49
+
50
+ attr_accessor type: String
51
+
52
+ def initialize: (field: String, message: String, type: String) -> void
53
+
54
+ def to_hash: -> { field: String, message: String, type: String }
55
+ end
56
+
57
+ type status = :error | :incomplete | :ready
58
+
59
+ module Status
60
+ extend SurgeAPI::Internal::Type::Enum
61
+
62
+ ERROR: :error
63
+ INCOMPLETE: :incomplete
64
+ READY: :ready
65
+
66
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountStatus::Capability::status]
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end