increase 1.249.0 → 1.251.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.
@@ -0,0 +1,698 @@
1
+ # typed: strong
2
+
3
+ module Increase
4
+ module Models
5
+ class BeneficialOwnerCreateParams < Increase::Internal::Type::BaseModel
6
+ extend Increase::Internal::Type::RequestParameters::Converter
7
+ include Increase::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Increase::BeneficialOwnerCreateParams,
13
+ Increase::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The identifier of the Entity to associate with the new Beneficial Owner.
18
+ sig { returns(String) }
19
+ attr_accessor :entity_id
20
+
21
+ # Personal details for the beneficial owner.
22
+ sig { returns(Increase::BeneficialOwnerCreateParams::Individual) }
23
+ attr_reader :individual
24
+
25
+ sig do
26
+ params(
27
+ individual: Increase::BeneficialOwnerCreateParams::Individual::OrHash
28
+ ).void
29
+ end
30
+ attr_writer :individual
31
+
32
+ # Why this person is considered a beneficial owner of the entity. At least one
33
+ # option is required, if a person is both a control person and owner, submit an
34
+ # array containing both.
35
+ sig do
36
+ returns(
37
+ T::Array[Increase::BeneficialOwnerCreateParams::Prong::OrSymbol]
38
+ )
39
+ end
40
+ attr_accessor :prongs
41
+
42
+ # This person's role or title within the entity.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :company_title
45
+
46
+ sig { params(company_title: String).void }
47
+ attr_writer :company_title
48
+
49
+ sig do
50
+ params(
51
+ entity_id: String,
52
+ individual: Increase::BeneficialOwnerCreateParams::Individual::OrHash,
53
+ prongs:
54
+ T::Array[Increase::BeneficialOwnerCreateParams::Prong::OrSymbol],
55
+ company_title: String,
56
+ request_options: Increase::RequestOptions::OrHash
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ # The identifier of the Entity to associate with the new Beneficial Owner.
61
+ entity_id:,
62
+ # Personal details for the beneficial owner.
63
+ individual:,
64
+ # Why this person is considered a beneficial owner of the entity. At least one
65
+ # option is required, if a person is both a control person and owner, submit an
66
+ # array containing both.
67
+ prongs:,
68
+ # This person's role or title within the entity.
69
+ company_title: nil,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ entity_id: String,
78
+ individual: Increase::BeneficialOwnerCreateParams::Individual,
79
+ prongs:
80
+ T::Array[Increase::BeneficialOwnerCreateParams::Prong::OrSymbol],
81
+ company_title: String,
82
+ request_options: Increase::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ class Individual < Increase::Internal::Type::BaseModel
90
+ OrHash =
91
+ T.type_alias do
92
+ T.any(
93
+ Increase::BeneficialOwnerCreateParams::Individual,
94
+ Increase::Internal::AnyHash
95
+ )
96
+ end
97
+
98
+ # The individual's physical address. Mail receiving locations like PO Boxes and
99
+ # PMB's are disallowed.
100
+ sig do
101
+ returns(Increase::BeneficialOwnerCreateParams::Individual::Address)
102
+ end
103
+ attr_reader :address
104
+
105
+ sig do
106
+ params(
107
+ address:
108
+ Increase::BeneficialOwnerCreateParams::Individual::Address::OrHash
109
+ ).void
110
+ end
111
+ attr_writer :address
112
+
113
+ # The person's date of birth in YYYY-MM-DD format.
114
+ sig { returns(Date) }
115
+ attr_accessor :date_of_birth
116
+
117
+ # A means of verifying the person's identity.
118
+ sig do
119
+ returns(
120
+ Increase::BeneficialOwnerCreateParams::Individual::Identification
121
+ )
122
+ end
123
+ attr_reader :identification
124
+
125
+ sig do
126
+ params(
127
+ identification:
128
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::OrHash
129
+ ).void
130
+ end
131
+ attr_writer :identification
132
+
133
+ # The person's legal name.
134
+ sig { returns(String) }
135
+ attr_accessor :name
136
+
137
+ # The identification method for an individual can only be a passport, driver's
138
+ # license, or other document if you've confirmed the individual does not have a US
139
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
140
+ # Number).
141
+ sig { returns(T.nilable(T::Boolean)) }
142
+ attr_reader :confirmed_no_us_tax_id
143
+
144
+ sig { params(confirmed_no_us_tax_id: T::Boolean).void }
145
+ attr_writer :confirmed_no_us_tax_id
146
+
147
+ # Personal details for the beneficial owner.
148
+ sig do
149
+ params(
150
+ address:
151
+ Increase::BeneficialOwnerCreateParams::Individual::Address::OrHash,
152
+ date_of_birth: Date,
153
+ identification:
154
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::OrHash,
155
+ name: String,
156
+ confirmed_no_us_tax_id: T::Boolean
157
+ ).returns(T.attached_class)
158
+ end
159
+ def self.new(
160
+ # The individual's physical address. Mail receiving locations like PO Boxes and
161
+ # PMB's are disallowed.
162
+ address:,
163
+ # The person's date of birth in YYYY-MM-DD format.
164
+ date_of_birth:,
165
+ # A means of verifying the person's identity.
166
+ identification:,
167
+ # The person's legal name.
168
+ name:,
169
+ # The identification method for an individual can only be a passport, driver's
170
+ # license, or other document if you've confirmed the individual does not have a US
171
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
172
+ # Number).
173
+ confirmed_no_us_tax_id: nil
174
+ )
175
+ end
176
+
177
+ sig do
178
+ override.returns(
179
+ {
180
+ address:
181
+ Increase::BeneficialOwnerCreateParams::Individual::Address,
182
+ date_of_birth: Date,
183
+ identification:
184
+ Increase::BeneficialOwnerCreateParams::Individual::Identification,
185
+ name: String,
186
+ confirmed_no_us_tax_id: T::Boolean
187
+ }
188
+ )
189
+ end
190
+ def to_hash
191
+ end
192
+
193
+ class Address < Increase::Internal::Type::BaseModel
194
+ OrHash =
195
+ T.type_alias do
196
+ T.any(
197
+ Increase::BeneficialOwnerCreateParams::Individual::Address,
198
+ Increase::Internal::AnyHash
199
+ )
200
+ end
201
+
202
+ # The city, district, town, or village of the address.
203
+ sig { returns(String) }
204
+ attr_accessor :city
205
+
206
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
207
+ sig { returns(String) }
208
+ attr_accessor :country
209
+
210
+ # The first line of the address. This is usually the street number and street.
211
+ sig { returns(String) }
212
+ attr_accessor :line1
213
+
214
+ # The second line of the address. This might be the floor or room number.
215
+ sig { returns(T.nilable(String)) }
216
+ attr_reader :line2
217
+
218
+ sig { params(line2: String).void }
219
+ attr_writer :line2
220
+
221
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
222
+ # state, province, or region of the address. Required in certain countries.
223
+ sig { returns(T.nilable(String)) }
224
+ attr_reader :state
225
+
226
+ sig { params(state: String).void }
227
+ attr_writer :state
228
+
229
+ # The ZIP or postal code of the address. Required in certain countries.
230
+ sig { returns(T.nilable(String)) }
231
+ attr_reader :zip
232
+
233
+ sig { params(zip: String).void }
234
+ attr_writer :zip
235
+
236
+ # The individual's physical address. Mail receiving locations like PO Boxes and
237
+ # PMB's are disallowed.
238
+ sig do
239
+ params(
240
+ city: String,
241
+ country: String,
242
+ line1: String,
243
+ line2: String,
244
+ state: String,
245
+ zip: String
246
+ ).returns(T.attached_class)
247
+ end
248
+ def self.new(
249
+ # The city, district, town, or village of the address.
250
+ city:,
251
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
252
+ country:,
253
+ # The first line of the address. This is usually the street number and street.
254
+ line1:,
255
+ # The second line of the address. This might be the floor or room number.
256
+ line2: nil,
257
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
258
+ # state, province, or region of the address. Required in certain countries.
259
+ state: nil,
260
+ # The ZIP or postal code of the address. Required in certain countries.
261
+ zip: nil
262
+ )
263
+ end
264
+
265
+ sig do
266
+ override.returns(
267
+ {
268
+ city: String,
269
+ country: String,
270
+ line1: String,
271
+ line2: String,
272
+ state: String,
273
+ zip: String
274
+ }
275
+ )
276
+ end
277
+ def to_hash
278
+ end
279
+ end
280
+
281
+ class Identification < Increase::Internal::Type::BaseModel
282
+ OrHash =
283
+ T.type_alias do
284
+ T.any(
285
+ Increase::BeneficialOwnerCreateParams::Individual::Identification,
286
+ Increase::Internal::AnyHash
287
+ )
288
+ end
289
+
290
+ # A method that can be used to verify the individual's identity.
291
+ sig do
292
+ returns(
293
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::OrSymbol
294
+ )
295
+ end
296
+ attr_accessor :method_
297
+
298
+ # An identification number that can be used to verify the individual's identity,
299
+ # such as a social security number.
300
+ sig { returns(String) }
301
+ attr_accessor :number
302
+
303
+ # Information about the United States driver's license used for identification.
304
+ # Required if `method` is equal to `drivers_license`.
305
+ sig do
306
+ returns(
307
+ T.nilable(
308
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::DriversLicense
309
+ )
310
+ )
311
+ end
312
+ attr_reader :drivers_license
313
+
314
+ sig do
315
+ params(
316
+ drivers_license:
317
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::DriversLicense::OrHash
318
+ ).void
319
+ end
320
+ attr_writer :drivers_license
321
+
322
+ # Information about the identification document provided. Required if `method` is
323
+ # equal to `other`.
324
+ sig do
325
+ returns(
326
+ T.nilable(
327
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Other
328
+ )
329
+ )
330
+ end
331
+ attr_reader :other
332
+
333
+ sig do
334
+ params(
335
+ other:
336
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Other::OrHash
337
+ ).void
338
+ end
339
+ attr_writer :other
340
+
341
+ # Information about the passport used for identification. Required if `method` is
342
+ # equal to `passport`.
343
+ sig do
344
+ returns(
345
+ T.nilable(
346
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Passport
347
+ )
348
+ )
349
+ end
350
+ attr_reader :passport
351
+
352
+ sig do
353
+ params(
354
+ passport:
355
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Passport::OrHash
356
+ ).void
357
+ end
358
+ attr_writer :passport
359
+
360
+ # A means of verifying the person's identity.
361
+ sig do
362
+ params(
363
+ method_:
364
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::OrSymbol,
365
+ number: String,
366
+ drivers_license:
367
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::DriversLicense::OrHash,
368
+ other:
369
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Other::OrHash,
370
+ passport:
371
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Passport::OrHash
372
+ ).returns(T.attached_class)
373
+ end
374
+ def self.new(
375
+ # A method that can be used to verify the individual's identity.
376
+ method_:,
377
+ # An identification number that can be used to verify the individual's identity,
378
+ # such as a social security number.
379
+ number:,
380
+ # Information about the United States driver's license used for identification.
381
+ # Required if `method` is equal to `drivers_license`.
382
+ drivers_license: nil,
383
+ # Information about the identification document provided. Required if `method` is
384
+ # equal to `other`.
385
+ other: nil,
386
+ # Information about the passport used for identification. Required if `method` is
387
+ # equal to `passport`.
388
+ passport: nil
389
+ )
390
+ end
391
+
392
+ sig do
393
+ override.returns(
394
+ {
395
+ method_:
396
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::OrSymbol,
397
+ number: String,
398
+ drivers_license:
399
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::DriversLicense,
400
+ other:
401
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Other,
402
+ passport:
403
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Passport
404
+ }
405
+ )
406
+ end
407
+ def to_hash
408
+ end
409
+
410
+ # A method that can be used to verify the individual's identity.
411
+ module Method
412
+ extend Increase::Internal::Type::Enum
413
+
414
+ TaggedSymbol =
415
+ T.type_alias do
416
+ T.all(
417
+ Symbol,
418
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method
419
+ )
420
+ end
421
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
422
+
423
+ # A social security number.
424
+ SOCIAL_SECURITY_NUMBER =
425
+ T.let(
426
+ :social_security_number,
427
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
428
+ )
429
+
430
+ # An individual taxpayer identification number (ITIN).
431
+ INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER =
432
+ T.let(
433
+ :individual_taxpayer_identification_number,
434
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
435
+ )
436
+
437
+ # A passport number.
438
+ PASSPORT =
439
+ T.let(
440
+ :passport,
441
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
442
+ )
443
+
444
+ # A driver's license number.
445
+ DRIVERS_LICENSE =
446
+ T.let(
447
+ :drivers_license,
448
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
449
+ )
450
+
451
+ # Another identifying document.
452
+ OTHER =
453
+ T.let(
454
+ :other,
455
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
456
+ )
457
+
458
+ sig do
459
+ override.returns(
460
+ T::Array[
461
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Method::TaggedSymbol
462
+ ]
463
+ )
464
+ end
465
+ def self.values
466
+ end
467
+ end
468
+
469
+ class DriversLicense < Increase::Internal::Type::BaseModel
470
+ OrHash =
471
+ T.type_alias do
472
+ T.any(
473
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::DriversLicense,
474
+ Increase::Internal::AnyHash
475
+ )
476
+ end
477
+
478
+ # The driver's license's expiration date in YYYY-MM-DD format.
479
+ sig { returns(Date) }
480
+ attr_accessor :expiration_date
481
+
482
+ # The identifier of the File containing the front of the driver's license.
483
+ sig { returns(String) }
484
+ attr_accessor :file_id
485
+
486
+ # The state that issued the provided driver's license.
487
+ sig { returns(String) }
488
+ attr_accessor :state
489
+
490
+ # The identifier of the File containing the back of the driver's license.
491
+ sig { returns(T.nilable(String)) }
492
+ attr_reader :back_file_id
493
+
494
+ sig { params(back_file_id: String).void }
495
+ attr_writer :back_file_id
496
+
497
+ # Information about the United States driver's license used for identification.
498
+ # Required if `method` is equal to `drivers_license`.
499
+ sig do
500
+ params(
501
+ expiration_date: Date,
502
+ file_id: String,
503
+ state: String,
504
+ back_file_id: String
505
+ ).returns(T.attached_class)
506
+ end
507
+ def self.new(
508
+ # The driver's license's expiration date in YYYY-MM-DD format.
509
+ expiration_date:,
510
+ # The identifier of the File containing the front of the driver's license.
511
+ file_id:,
512
+ # The state that issued the provided driver's license.
513
+ state:,
514
+ # The identifier of the File containing the back of the driver's license.
515
+ back_file_id: nil
516
+ )
517
+ end
518
+
519
+ sig do
520
+ override.returns(
521
+ {
522
+ expiration_date: Date,
523
+ file_id: String,
524
+ state: String,
525
+ back_file_id: String
526
+ }
527
+ )
528
+ end
529
+ def to_hash
530
+ end
531
+ end
532
+
533
+ class Other < Increase::Internal::Type::BaseModel
534
+ OrHash =
535
+ T.type_alias do
536
+ T.any(
537
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Other,
538
+ Increase::Internal::AnyHash
539
+ )
540
+ end
541
+
542
+ # The two-character ISO 3166-1 code representing the country that issued the
543
+ # document (e.g., `US`).
544
+ sig { returns(String) }
545
+ attr_accessor :country
546
+
547
+ # A description of the document submitted.
548
+ sig { returns(String) }
549
+ attr_accessor :description
550
+
551
+ # The identifier of the File containing the front of the document.
552
+ sig { returns(String) }
553
+ attr_accessor :file_id
554
+
555
+ # The identifier of the File containing the back of the document. Not every
556
+ # document has a reverse side.
557
+ sig { returns(T.nilable(String)) }
558
+ attr_reader :back_file_id
559
+
560
+ sig { params(back_file_id: String).void }
561
+ attr_writer :back_file_id
562
+
563
+ # The document's expiration date in YYYY-MM-DD format.
564
+ sig { returns(T.nilable(Date)) }
565
+ attr_reader :expiration_date
566
+
567
+ sig { params(expiration_date: Date).void }
568
+ attr_writer :expiration_date
569
+
570
+ # Information about the identification document provided. Required if `method` is
571
+ # equal to `other`.
572
+ sig do
573
+ params(
574
+ country: String,
575
+ description: String,
576
+ file_id: String,
577
+ back_file_id: String,
578
+ expiration_date: Date
579
+ ).returns(T.attached_class)
580
+ end
581
+ def self.new(
582
+ # The two-character ISO 3166-1 code representing the country that issued the
583
+ # document (e.g., `US`).
584
+ country:,
585
+ # A description of the document submitted.
586
+ description:,
587
+ # The identifier of the File containing the front of the document.
588
+ file_id:,
589
+ # The identifier of the File containing the back of the document. Not every
590
+ # document has a reverse side.
591
+ back_file_id: nil,
592
+ # The document's expiration date in YYYY-MM-DD format.
593
+ expiration_date: nil
594
+ )
595
+ end
596
+
597
+ sig do
598
+ override.returns(
599
+ {
600
+ country: String,
601
+ description: String,
602
+ file_id: String,
603
+ back_file_id: String,
604
+ expiration_date: Date
605
+ }
606
+ )
607
+ end
608
+ def to_hash
609
+ end
610
+ end
611
+
612
+ class Passport < Increase::Internal::Type::BaseModel
613
+ OrHash =
614
+ T.type_alias do
615
+ T.any(
616
+ Increase::BeneficialOwnerCreateParams::Individual::Identification::Passport,
617
+ Increase::Internal::AnyHash
618
+ )
619
+ end
620
+
621
+ # The two-character ISO 3166-1 code representing the country that issued the
622
+ # document (e.g., `US`).
623
+ sig { returns(String) }
624
+ attr_accessor :country
625
+
626
+ # The passport's expiration date in YYYY-MM-DD format.
627
+ sig { returns(Date) }
628
+ attr_accessor :expiration_date
629
+
630
+ # The identifier of the File containing the passport.
631
+ sig { returns(String) }
632
+ attr_accessor :file_id
633
+
634
+ # Information about the passport used for identification. Required if `method` is
635
+ # equal to `passport`.
636
+ sig do
637
+ params(
638
+ country: String,
639
+ expiration_date: Date,
640
+ file_id: String
641
+ ).returns(T.attached_class)
642
+ end
643
+ def self.new(
644
+ # The two-character ISO 3166-1 code representing the country that issued the
645
+ # document (e.g., `US`).
646
+ country:,
647
+ # The passport's expiration date in YYYY-MM-DD format.
648
+ expiration_date:,
649
+ # The identifier of the File containing the passport.
650
+ file_id:
651
+ )
652
+ end
653
+
654
+ sig do
655
+ override.returns(
656
+ { country: String, expiration_date: Date, file_id: String }
657
+ )
658
+ end
659
+ def to_hash
660
+ end
661
+ end
662
+ end
663
+ end
664
+
665
+ module Prong
666
+ extend Increase::Internal::Type::Enum
667
+
668
+ TaggedSymbol =
669
+ T.type_alias do
670
+ T.all(Symbol, Increase::BeneficialOwnerCreateParams::Prong)
671
+ end
672
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
673
+
674
+ # A person with 25% or greater direct or indirect ownership of the entity.
675
+ OWNERSHIP =
676
+ T.let(
677
+ :ownership,
678
+ Increase::BeneficialOwnerCreateParams::Prong::TaggedSymbol
679
+ )
680
+
681
+ # A person who manages, directs, or has significant control of the entity.
682
+ CONTROL =
683
+ T.let(
684
+ :control,
685
+ Increase::BeneficialOwnerCreateParams::Prong::TaggedSymbol
686
+ )
687
+
688
+ sig do
689
+ override.returns(
690
+ T::Array[Increase::BeneficialOwnerCreateParams::Prong::TaggedSymbol]
691
+ )
692
+ end
693
+ def self.values
694
+ end
695
+ end
696
+ end
697
+ end
698
+ end