increase 1.347.0 → 1.349.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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/increase/models/account_create_params.rb +15 -15
  4. data/lib/increase/models/ach_prenotification_create_params.rb +2 -2
  5. data/lib/increase/models/ach_transfer.rb +2 -2
  6. data/lib/increase/models/ach_transfer_create_params.rb +1 -24
  7. data/lib/increase/models/balance_lookup.rb +49 -1
  8. data/lib/increase/models/beneficial_owner_update_params.rb +9 -1
  9. data/lib/increase/models/card.rb +43 -1
  10. data/lib/increase/models/card_create_params.rb +42 -1
  11. data/lib/increase/models/card_dispute.rb +1 -1
  12. data/lib/increase/models/card_dispute_list_params.rb +1 -1
  13. data/lib/increase/models/card_payment.rb +18 -1
  14. data/lib/increase/models/check_transfer.rb +13 -1
  15. data/lib/increase/models/check_transfer_create_params.rb +25 -13
  16. data/lib/increase/models/entity.rb +315 -5
  17. data/lib/increase/models/entity_update_params.rb +754 -1
  18. data/lib/increase/models/event.rb +12 -0
  19. data/lib/increase/models/event_list_params.rb +12 -0
  20. data/lib/increase/models/event_subscription.rb +12 -0
  21. data/lib/increase/models/event_subscription_create_params.rb +12 -0
  22. data/lib/increase/models/file.rb +7 -6
  23. data/lib/increase/models/inbound_ach_transfer.rb +6 -6
  24. data/lib/increase/models/inbound_check_deposit.rb +5 -2
  25. data/lib/increase/models/inbound_fednow_transfer.rb +18 -1
  26. data/lib/increase/models/pending_transaction.rb +25 -8
  27. data/lib/increase/models/pending_transaction_list_params.rb +1 -1
  28. data/lib/increase/models/physical_card_create_params.rb +6 -3
  29. data/lib/increase/models/real_time_decision.rb +18 -1
  30. data/lib/increase/models/real_time_payments_transfer.rb +30 -19
  31. data/lib/increase/models/real_time_payments_transfer_create_params.rb +12 -1
  32. data/lib/increase/models/simulations/card_dispute_action_params.rb +30 -1
  33. data/lib/increase/models/simulations/entity_update_validation_params.rb +3 -0
  34. data/lib/increase/models/simulations/inbound_check_deposit_adjustment_params.rb +8 -11
  35. data/lib/increase/models/simulations/real_time_payments_transfer_complete_params.rb +18 -18
  36. data/lib/increase/models/transaction.rb +5 -2
  37. data/lib/increase/models/unwrap_webhook_event.rb +12 -0
  38. data/lib/increase/models/wire_transfer_create_params.rb +100 -42
  39. data/lib/increase/resources/ach_prenotifications.rb +1 -1
  40. data/lib/increase/resources/ach_transfers.rb +1 -4
  41. data/lib/increase/resources/beneficial_owners.rb +3 -1
  42. data/lib/increase/resources/cards.rb +5 -1
  43. data/lib/increase/resources/physical_cards.rb +2 -1
  44. data/lib/increase/resources/real_time_payments_transfers.rb +5 -1
  45. data/lib/increase/resources/simulations/inbound_check_deposits.rb +4 -1
  46. data/lib/increase/version.rb +1 -1
  47. data/rbi/increase/models/account_create_params.rbi +37 -21
  48. data/rbi/increase/models/ach_prenotification_create_params.rbi +2 -2
  49. data/rbi/increase/models/ach_transfer.rbi +2 -2
  50. data/rbi/increase/models/ach_transfer_create_params.rbi +0 -59
  51. data/rbi/increase/models/balance_lookup.rbi +48 -0
  52. data/rbi/increase/models/beneficial_owner_update_params.rbi +11 -0
  53. data/rbi/increase/models/card.rbi +63 -0
  54. data/rbi/increase/models/card_create_params.rbi +65 -0
  55. data/rbi/increase/models/card_dispute.rbi +1 -1
  56. data/rbi/increase/models/card_dispute_list_params.rbi +1 -1
  57. data/rbi/increase/models/card_payment.rbi +16 -0
  58. data/rbi/increase/models/check_transfer.rbi +15 -0
  59. data/rbi/increase/models/check_transfer_create_params.rbi +26 -12
  60. data/rbi/increase/models/entity.rbi +552 -3
  61. data/rbi/increase/models/entity_update_params.rbi +1326 -3
  62. data/rbi/increase/models/event.rbi +28 -0
  63. data/rbi/increase/models/event_list_params.rbi +28 -0
  64. data/rbi/increase/models/event_subscription.rbi +28 -0
  65. data/rbi/increase/models/event_subscription_create_params.rbi +28 -0
  66. data/rbi/increase/models/file.rbi +7 -6
  67. data/rbi/increase/models/inbound_ach_transfer.rbi +6 -6
  68. data/rbi/increase/models/inbound_check_deposit.rbi +4 -2
  69. data/rbi/increase/models/inbound_fednow_transfer.rbi +16 -0
  70. data/rbi/increase/models/pending_transaction.rbi +23 -7
  71. data/rbi/increase/models/pending_transaction_list_params.rbi +1 -1
  72. data/rbi/increase/models/physical_card_create_params.rbi +6 -3
  73. data/rbi/increase/models/real_time_decision.rbi +16 -0
  74. data/rbi/increase/models/real_time_payments_transfer.rbi +29 -18
  75. data/rbi/increase/models/real_time_payments_transfer_create_params.rbi +15 -0
  76. data/rbi/increase/models/simulations/card_dispute_action_params.rbi +60 -0
  77. data/rbi/increase/models/simulations/entity_update_validation_params.rbi +7 -0
  78. data/rbi/increase/models/simulations/inbound_check_deposit_adjustment_params.rbi +8 -23
  79. data/rbi/increase/models/simulations/real_time_payments_transfer_complete_params.rbi +18 -18
  80. data/rbi/increase/models/transaction.rbi +4 -2
  81. data/rbi/increase/models/unwrap_webhook_event.rbi +28 -0
  82. data/rbi/increase/models/wire_transfer_create_params.rbi +146 -62
  83. data/rbi/increase/resources/ach_prenotifications.rbi +1 -1
  84. data/rbi/increase/resources/ach_transfers.rbi +0 -4
  85. data/rbi/increase/resources/beneficial_owners.rbi +3 -0
  86. data/rbi/increase/resources/cards.rbi +4 -0
  87. data/rbi/increase/resources/physical_cards.rbi +2 -1
  88. data/rbi/increase/resources/real_time_payments_transfers.rbi +4 -0
  89. data/rbi/increase/resources/simulations/inbound_check_deposits.rbi +4 -1
  90. data/sig/increase/models/account_create_params.rbs +20 -12
  91. data/sig/increase/models/ach_transfer_create_params.rbs +1 -24
  92. data/sig/increase/models/balance_lookup.rbs +30 -0
  93. data/sig/increase/models/beneficial_owner_update_params.rbs +7 -0
  94. data/sig/increase/models/card.rbs +19 -0
  95. data/sig/increase/models/card_create_params.rbs +25 -0
  96. data/sig/increase/models/card_dispute.rbs +1 -1
  97. data/sig/increase/models/card_dispute_list_params.rbs +1 -1
  98. data/sig/increase/models/card_payment.rbs +5 -0
  99. data/sig/increase/models/check_transfer.rbs +9 -0
  100. data/sig/increase/models/check_transfer_create_params.rbs +7 -0
  101. data/sig/increase/models/entity.rbs +248 -5
  102. data/sig/increase/models/entity_update_params.rbs +585 -3
  103. data/sig/increase/models/event.rbs +16 -0
  104. data/sig/increase/models/event_list_params.rbs +16 -0
  105. data/sig/increase/models/event_subscription.rbs +16 -0
  106. data/sig/increase/models/event_subscription_create_params.rbs +16 -0
  107. data/sig/increase/models/inbound_ach_transfer.rbs +2 -2
  108. data/sig/increase/models/inbound_fednow_transfer.rbs +10 -0
  109. data/sig/increase/models/pending_transaction.rbs +6 -1
  110. data/sig/increase/models/pending_transaction_list_params.rbs +1 -1
  111. data/sig/increase/models/real_time_decision.rbs +5 -0
  112. data/sig/increase/models/real_time_payments_transfer.rbs +23 -18
  113. data/sig/increase/models/real_time_payments_transfer_create_params.rbs +7 -0
  114. data/sig/increase/models/simulations/card_dispute_action_params.rbs +23 -0
  115. data/sig/increase/models/simulations/entity_update_validation_params.rbs +4 -0
  116. data/sig/increase/models/simulations/inbound_check_deposit_adjustment_params.rbs +1 -15
  117. data/sig/increase/models/simulations/real_time_payments_transfer_complete_params.rbs +18 -18
  118. data/sig/increase/models/unwrap_webhook_event.rbs +16 -0
  119. data/sig/increase/models/wire_transfer_create_params.rbs +78 -32
  120. data/sig/increase/resources/ach_transfers.rbs +0 -1
  121. data/sig/increase/resources/beneficial_owners.rbs +1 -0
  122. data/sig/increase/resources/cards.rbs +1 -0
  123. data/sig/increase/resources/real_time_payments_transfers.rbs +1 -0
  124. metadata +2 -2
@@ -1529,6 +1529,18 @@ module Increase
1529
1529
  end
1530
1530
  attr_writer :address
1531
1531
 
1532
+ # The grantor of the trust. If you specify this parameter, the trust's existing
1533
+ # grantor will be archived and replaced with the grantor you provide.
1534
+ sig { returns(T.nilable(Increase::EntityUpdateParams::Trust::Grantor)) }
1535
+ attr_reader :grantor
1536
+
1537
+ sig do
1538
+ params(
1539
+ grantor: Increase::EntityUpdateParams::Trust::Grantor::OrHash
1540
+ ).void
1541
+ end
1542
+ attr_writer :grantor
1543
+
1532
1544
  # The legal name of the trust.
1533
1545
  sig { returns(T.nilable(String)) }
1534
1546
  attr_reader :name
@@ -1536,20 +1548,46 @@ module Increase
1536
1548
  sig { params(name: String).void }
1537
1549
  attr_writer :name
1538
1550
 
1551
+ # The trustees of the trust. If you specify this parameter, the trust's existing
1552
+ # trustees will be archived and replaced with the trustees you provide.
1553
+ sig do
1554
+ returns(
1555
+ T.nilable(T::Array[Increase::EntityUpdateParams::Trust::Trustee])
1556
+ )
1557
+ end
1558
+ attr_reader :trustees
1559
+
1560
+ sig do
1561
+ params(
1562
+ trustees:
1563
+ T::Array[Increase::EntityUpdateParams::Trust::Trustee::OrHash]
1564
+ ).void
1565
+ end
1566
+ attr_writer :trustees
1567
+
1539
1568
  # Details of the trust entity to update. If you specify this parameter and the
1540
1569
  # entity is not a trust, the request will fail.
1541
1570
  sig do
1542
1571
  params(
1543
1572
  address: Increase::EntityUpdateParams::Trust::Address::OrHash,
1544
- name: String
1573
+ grantor: Increase::EntityUpdateParams::Trust::Grantor::OrHash,
1574
+ name: String,
1575
+ trustees:
1576
+ T::Array[Increase::EntityUpdateParams::Trust::Trustee::OrHash]
1545
1577
  ).returns(T.attached_class)
1546
1578
  end
1547
1579
  def self.new(
1548
1580
  # The entity's physical address. Mail receiving locations like PO Boxes and PMB's
1549
1581
  # are disallowed.
1550
1582
  address: nil,
1583
+ # The grantor of the trust. If you specify this parameter, the trust's existing
1584
+ # grantor will be archived and replaced with the grantor you provide.
1585
+ grantor: nil,
1551
1586
  # The legal name of the trust.
1552
- name: nil
1587
+ name: nil,
1588
+ # The trustees of the trust. If you specify this parameter, the trust's existing
1589
+ # trustees will be archived and replaced with the trustees you provide.
1590
+ trustees: nil
1553
1591
  )
1554
1592
  end
1555
1593
 
@@ -1557,7 +1595,9 @@ module Increase
1557
1595
  override.returns(
1558
1596
  {
1559
1597
  address: Increase::EntityUpdateParams::Trust::Address,
1560
- name: String
1598
+ grantor: Increase::EntityUpdateParams::Trust::Grantor,
1599
+ name: String,
1600
+ trustees: T::Array[Increase::EntityUpdateParams::Trust::Trustee]
1561
1601
  }
1562
1602
  )
1563
1603
  end
@@ -1637,6 +1677,1289 @@ module Increase
1637
1677
  def to_hash
1638
1678
  end
1639
1679
  end
1680
+
1681
+ class Grantor < Increase::Internal::Type::BaseModel
1682
+ OrHash =
1683
+ T.type_alias do
1684
+ T.any(
1685
+ Increase::EntityUpdateParams::Trust::Grantor,
1686
+ Increase::Internal::AnyHash
1687
+ )
1688
+ end
1689
+
1690
+ # The grantor's physical address. Mail receiving locations like PO Boxes and PMB's
1691
+ # are disallowed.
1692
+ sig { returns(Increase::EntityUpdateParams::Trust::Grantor::Address) }
1693
+ attr_reader :address
1694
+
1695
+ sig do
1696
+ params(
1697
+ address:
1698
+ Increase::EntityUpdateParams::Trust::Grantor::Address::OrHash
1699
+ ).void
1700
+ end
1701
+ attr_writer :address
1702
+
1703
+ # The grantor's date of birth in YYYY-MM-DD format.
1704
+ sig { returns(Date) }
1705
+ attr_accessor :date_of_birth
1706
+
1707
+ # A means of verifying the person's identity.
1708
+ sig do
1709
+ returns(
1710
+ Increase::EntityUpdateParams::Trust::Grantor::Identification
1711
+ )
1712
+ end
1713
+ attr_reader :identification
1714
+
1715
+ sig do
1716
+ params(
1717
+ identification:
1718
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::OrHash
1719
+ ).void
1720
+ end
1721
+ attr_writer :identification
1722
+
1723
+ # The grantor's legal name.
1724
+ sig { returns(String) }
1725
+ attr_accessor :name
1726
+
1727
+ # The identification method for an individual can only be a passport, driver's
1728
+ # license, or other document if you've confirmed the individual does not have a US
1729
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
1730
+ # Number).
1731
+ sig { returns(T.nilable(T::Boolean)) }
1732
+ attr_reader :confirmed_no_us_tax_id
1733
+
1734
+ sig { params(confirmed_no_us_tax_id: T::Boolean).void }
1735
+ attr_writer :confirmed_no_us_tax_id
1736
+
1737
+ # The grantor of the trust. If you specify this parameter, the trust's existing
1738
+ # grantor will be archived and replaced with the grantor you provide.
1739
+ sig do
1740
+ params(
1741
+ address:
1742
+ Increase::EntityUpdateParams::Trust::Grantor::Address::OrHash,
1743
+ date_of_birth: Date,
1744
+ identification:
1745
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::OrHash,
1746
+ name: String,
1747
+ confirmed_no_us_tax_id: T::Boolean
1748
+ ).returns(T.attached_class)
1749
+ end
1750
+ def self.new(
1751
+ # The grantor's physical address. Mail receiving locations like PO Boxes and PMB's
1752
+ # are disallowed.
1753
+ address:,
1754
+ # The grantor's date of birth in YYYY-MM-DD format.
1755
+ date_of_birth:,
1756
+ # A means of verifying the person's identity.
1757
+ identification:,
1758
+ # The grantor's legal name.
1759
+ name:,
1760
+ # The identification method for an individual can only be a passport, driver's
1761
+ # license, or other document if you've confirmed the individual does not have a US
1762
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
1763
+ # Number).
1764
+ confirmed_no_us_tax_id: nil
1765
+ )
1766
+ end
1767
+
1768
+ sig do
1769
+ override.returns(
1770
+ {
1771
+ address: Increase::EntityUpdateParams::Trust::Grantor::Address,
1772
+ date_of_birth: Date,
1773
+ identification:
1774
+ Increase::EntityUpdateParams::Trust::Grantor::Identification,
1775
+ name: String,
1776
+ confirmed_no_us_tax_id: T::Boolean
1777
+ }
1778
+ )
1779
+ end
1780
+ def to_hash
1781
+ end
1782
+
1783
+ class Address < Increase::Internal::Type::BaseModel
1784
+ OrHash =
1785
+ T.type_alias do
1786
+ T.any(
1787
+ Increase::EntityUpdateParams::Trust::Grantor::Address,
1788
+ Increase::Internal::AnyHash
1789
+ )
1790
+ end
1791
+
1792
+ # The city, district, town, or village of the address.
1793
+ sig { returns(String) }
1794
+ attr_accessor :city
1795
+
1796
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
1797
+ #
1798
+ # Defaults to `US`.
1799
+ sig { returns(String) }
1800
+ attr_accessor :country
1801
+
1802
+ # The first line of the address. This is usually the street number and street.
1803
+ sig { returns(String) }
1804
+ attr_accessor :line1
1805
+
1806
+ # The second line of the address. This might be the floor or room number.
1807
+ sig { returns(T.nilable(String)) }
1808
+ attr_reader :line2
1809
+
1810
+ sig { params(line2: String).void }
1811
+ attr_writer :line2
1812
+
1813
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
1814
+ # state, province, or region of the address. Required in certain countries.
1815
+ sig { returns(T.nilable(String)) }
1816
+ attr_reader :state
1817
+
1818
+ sig { params(state: String).void }
1819
+ attr_writer :state
1820
+
1821
+ # The ZIP or postal code of the address. Required in certain countries.
1822
+ sig { returns(T.nilable(String)) }
1823
+ attr_reader :zip
1824
+
1825
+ sig { params(zip: String).void }
1826
+ attr_writer :zip
1827
+
1828
+ # The grantor's physical address. Mail receiving locations like PO Boxes and PMB's
1829
+ # are disallowed.
1830
+ sig do
1831
+ params(
1832
+ city: String,
1833
+ country: String,
1834
+ line1: String,
1835
+ line2: String,
1836
+ state: String,
1837
+ zip: String
1838
+ ).returns(T.attached_class)
1839
+ end
1840
+ def self.new(
1841
+ # The city, district, town, or village of the address.
1842
+ city:,
1843
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
1844
+ #
1845
+ # Defaults to `US`.
1846
+ country:,
1847
+ # The first line of the address. This is usually the street number and street.
1848
+ line1:,
1849
+ # The second line of the address. This might be the floor or room number.
1850
+ line2: nil,
1851
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
1852
+ # state, province, or region of the address. Required in certain countries.
1853
+ state: nil,
1854
+ # The ZIP or postal code of the address. Required in certain countries.
1855
+ zip: nil
1856
+ )
1857
+ end
1858
+
1859
+ sig do
1860
+ override.returns(
1861
+ {
1862
+ city: String,
1863
+ country: String,
1864
+ line1: String,
1865
+ line2: String,
1866
+ state: String,
1867
+ zip: String
1868
+ }
1869
+ )
1870
+ end
1871
+ def to_hash
1872
+ end
1873
+ end
1874
+
1875
+ class Identification < Increase::Internal::Type::BaseModel
1876
+ OrHash =
1877
+ T.type_alias do
1878
+ T.any(
1879
+ Increase::EntityUpdateParams::Trust::Grantor::Identification,
1880
+ Increase::Internal::AnyHash
1881
+ )
1882
+ end
1883
+
1884
+ # A method that can be used to verify the individual's identity.
1885
+ #
1886
+ # Defaults to `social_security_number`.
1887
+ sig do
1888
+ returns(
1889
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::OrSymbol
1890
+ )
1891
+ end
1892
+ attr_accessor :method_
1893
+
1894
+ # An identification number that can be used to verify the individual's identity,
1895
+ # such as a social security number. For Social Security Numbers and Individual
1896
+ # Taxpayer Identification Numbers, submit nine digits with no dashes or other
1897
+ # separators. When testing in sandbox, use one of our
1898
+ # [sandbox test values](https://increase.com/documentation/sandbox-test-values).
1899
+ sig { returns(String) }
1900
+ attr_accessor :number
1901
+
1902
+ # Information about the United States driver's license used for identification.
1903
+ # Required if `method` is equal to `drivers_license`.
1904
+ sig do
1905
+ returns(
1906
+ T.nilable(
1907
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::DriversLicense
1908
+ )
1909
+ )
1910
+ end
1911
+ attr_reader :drivers_license
1912
+
1913
+ sig do
1914
+ params(
1915
+ drivers_license:
1916
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::DriversLicense::OrHash
1917
+ ).void
1918
+ end
1919
+ attr_writer :drivers_license
1920
+
1921
+ # Information about the identification document provided. Required if `method` is
1922
+ # equal to `other`.
1923
+ sig do
1924
+ returns(
1925
+ T.nilable(
1926
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Other
1927
+ )
1928
+ )
1929
+ end
1930
+ attr_reader :other
1931
+
1932
+ sig do
1933
+ params(
1934
+ other:
1935
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Other::OrHash
1936
+ ).void
1937
+ end
1938
+ attr_writer :other
1939
+
1940
+ # Information about the passport used for identification. Required if `method` is
1941
+ # equal to `passport`.
1942
+ sig do
1943
+ returns(
1944
+ T.nilable(
1945
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Passport
1946
+ )
1947
+ )
1948
+ end
1949
+ attr_reader :passport
1950
+
1951
+ sig do
1952
+ params(
1953
+ passport:
1954
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Passport::OrHash
1955
+ ).void
1956
+ end
1957
+ attr_writer :passport
1958
+
1959
+ # A means of verifying the person's identity.
1960
+ sig do
1961
+ params(
1962
+ method_:
1963
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::OrSymbol,
1964
+ number: String,
1965
+ drivers_license:
1966
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::DriversLicense::OrHash,
1967
+ other:
1968
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Other::OrHash,
1969
+ passport:
1970
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Passport::OrHash
1971
+ ).returns(T.attached_class)
1972
+ end
1973
+ def self.new(
1974
+ # A method that can be used to verify the individual's identity.
1975
+ #
1976
+ # Defaults to `social_security_number`.
1977
+ method_:,
1978
+ # An identification number that can be used to verify the individual's identity,
1979
+ # such as a social security number. For Social Security Numbers and Individual
1980
+ # Taxpayer Identification Numbers, submit nine digits with no dashes or other
1981
+ # separators. When testing in sandbox, use one of our
1982
+ # [sandbox test values](https://increase.com/documentation/sandbox-test-values).
1983
+ number:,
1984
+ # Information about the United States driver's license used for identification.
1985
+ # Required if `method` is equal to `drivers_license`.
1986
+ drivers_license: nil,
1987
+ # Information about the identification document provided. Required if `method` is
1988
+ # equal to `other`.
1989
+ other: nil,
1990
+ # Information about the passport used for identification. Required if `method` is
1991
+ # equal to `passport`.
1992
+ passport: nil
1993
+ )
1994
+ end
1995
+
1996
+ sig do
1997
+ override.returns(
1998
+ {
1999
+ method_:
2000
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::OrSymbol,
2001
+ number: String,
2002
+ drivers_license:
2003
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::DriversLicense,
2004
+ other:
2005
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Other,
2006
+ passport:
2007
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Passport
2008
+ }
2009
+ )
2010
+ end
2011
+ def to_hash
2012
+ end
2013
+
2014
+ # A method that can be used to verify the individual's identity.
2015
+ #
2016
+ # Defaults to `social_security_number`.
2017
+ module Method
2018
+ extend Increase::Internal::Type::Enum
2019
+
2020
+ TaggedSymbol =
2021
+ T.type_alias do
2022
+ T.all(
2023
+ Symbol,
2024
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method
2025
+ )
2026
+ end
2027
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2028
+
2029
+ # A social security number.
2030
+ SOCIAL_SECURITY_NUMBER =
2031
+ T.let(
2032
+ :social_security_number,
2033
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2034
+ )
2035
+
2036
+ # An individual taxpayer identification number (ITIN).
2037
+ INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER =
2038
+ T.let(
2039
+ :individual_taxpayer_identification_number,
2040
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2041
+ )
2042
+
2043
+ # A passport number.
2044
+ PASSPORT =
2045
+ T.let(
2046
+ :passport,
2047
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2048
+ )
2049
+
2050
+ # A driver's license number.
2051
+ DRIVERS_LICENSE =
2052
+ T.let(
2053
+ :drivers_license,
2054
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2055
+ )
2056
+
2057
+ # Another identifying document.
2058
+ OTHER =
2059
+ T.let(
2060
+ :other,
2061
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2062
+ )
2063
+
2064
+ sig do
2065
+ override.returns(
2066
+ T::Array[
2067
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Method::TaggedSymbol
2068
+ ]
2069
+ )
2070
+ end
2071
+ def self.values
2072
+ end
2073
+ end
2074
+
2075
+ class DriversLicense < Increase::Internal::Type::BaseModel
2076
+ OrHash =
2077
+ T.type_alias do
2078
+ T.any(
2079
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::DriversLicense,
2080
+ Increase::Internal::AnyHash
2081
+ )
2082
+ end
2083
+
2084
+ # The driver's license's expiration date in YYYY-MM-DD format.
2085
+ sig { returns(Date) }
2086
+ attr_accessor :expiration_date
2087
+
2088
+ # The identifier of the File containing the front of the driver's license.
2089
+ sig { returns(String) }
2090
+ attr_accessor :file_id
2091
+
2092
+ # The state that issued the provided driver's license.
2093
+ sig { returns(String) }
2094
+ attr_accessor :state
2095
+
2096
+ # The identifier of the File containing the back of the driver's license.
2097
+ sig { returns(T.nilable(String)) }
2098
+ attr_reader :back_file_id
2099
+
2100
+ sig { params(back_file_id: String).void }
2101
+ attr_writer :back_file_id
2102
+
2103
+ # Information about the United States driver's license used for identification.
2104
+ # Required if `method` is equal to `drivers_license`.
2105
+ sig do
2106
+ params(
2107
+ expiration_date: Date,
2108
+ file_id: String,
2109
+ state: String,
2110
+ back_file_id: String
2111
+ ).returns(T.attached_class)
2112
+ end
2113
+ def self.new(
2114
+ # The driver's license's expiration date in YYYY-MM-DD format.
2115
+ expiration_date:,
2116
+ # The identifier of the File containing the front of the driver's license.
2117
+ file_id:,
2118
+ # The state that issued the provided driver's license.
2119
+ state:,
2120
+ # The identifier of the File containing the back of the driver's license.
2121
+ back_file_id: nil
2122
+ )
2123
+ end
2124
+
2125
+ sig do
2126
+ override.returns(
2127
+ {
2128
+ expiration_date: Date,
2129
+ file_id: String,
2130
+ state: String,
2131
+ back_file_id: String
2132
+ }
2133
+ )
2134
+ end
2135
+ def to_hash
2136
+ end
2137
+ end
2138
+
2139
+ class Other < Increase::Internal::Type::BaseModel
2140
+ OrHash =
2141
+ T.type_alias do
2142
+ T.any(
2143
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Other,
2144
+ Increase::Internal::AnyHash
2145
+ )
2146
+ end
2147
+
2148
+ # The two-character ISO 3166-1 code representing the country that issued the
2149
+ # document (e.g., `US`).
2150
+ sig { returns(String) }
2151
+ attr_accessor :country
2152
+
2153
+ # A description of the document submitted.
2154
+ sig { returns(String) }
2155
+ attr_accessor :description
2156
+
2157
+ # The identifier of the File containing the front of the document.
2158
+ sig { returns(String) }
2159
+ attr_accessor :file_id
2160
+
2161
+ # The identifier of the File containing the back of the document. Not every
2162
+ # document has a reverse side.
2163
+ sig { returns(T.nilable(String)) }
2164
+ attr_reader :back_file_id
2165
+
2166
+ sig { params(back_file_id: String).void }
2167
+ attr_writer :back_file_id
2168
+
2169
+ # The document's expiration date in YYYY-MM-DD format.
2170
+ sig { returns(T.nilable(Date)) }
2171
+ attr_reader :expiration_date
2172
+
2173
+ sig { params(expiration_date: Date).void }
2174
+ attr_writer :expiration_date
2175
+
2176
+ # Information about the identification document provided. Required if `method` is
2177
+ # equal to `other`.
2178
+ sig do
2179
+ params(
2180
+ country: String,
2181
+ description: String,
2182
+ file_id: String,
2183
+ back_file_id: String,
2184
+ expiration_date: Date
2185
+ ).returns(T.attached_class)
2186
+ end
2187
+ def self.new(
2188
+ # The two-character ISO 3166-1 code representing the country that issued the
2189
+ # document (e.g., `US`).
2190
+ country:,
2191
+ # A description of the document submitted.
2192
+ description:,
2193
+ # The identifier of the File containing the front of the document.
2194
+ file_id:,
2195
+ # The identifier of the File containing the back of the document. Not every
2196
+ # document has a reverse side.
2197
+ back_file_id: nil,
2198
+ # The document's expiration date in YYYY-MM-DD format.
2199
+ expiration_date: nil
2200
+ )
2201
+ end
2202
+
2203
+ sig do
2204
+ override.returns(
2205
+ {
2206
+ country: String,
2207
+ description: String,
2208
+ file_id: String,
2209
+ back_file_id: String,
2210
+ expiration_date: Date
2211
+ }
2212
+ )
2213
+ end
2214
+ def to_hash
2215
+ end
2216
+ end
2217
+
2218
+ class Passport < Increase::Internal::Type::BaseModel
2219
+ OrHash =
2220
+ T.type_alias do
2221
+ T.any(
2222
+ Increase::EntityUpdateParams::Trust::Grantor::Identification::Passport,
2223
+ Increase::Internal::AnyHash
2224
+ )
2225
+ end
2226
+
2227
+ # The two-character ISO 3166-1 code representing the country that issued the
2228
+ # document (e.g., `US`).
2229
+ sig { returns(String) }
2230
+ attr_accessor :country
2231
+
2232
+ # The passport's expiration date in YYYY-MM-DD format.
2233
+ sig { returns(Date) }
2234
+ attr_accessor :expiration_date
2235
+
2236
+ # The identifier of the File containing the passport.
2237
+ sig { returns(String) }
2238
+ attr_accessor :file_id
2239
+
2240
+ # Information about the passport used for identification. Required if `method` is
2241
+ # equal to `passport`.
2242
+ sig do
2243
+ params(
2244
+ country: String,
2245
+ expiration_date: Date,
2246
+ file_id: String
2247
+ ).returns(T.attached_class)
2248
+ end
2249
+ def self.new(
2250
+ # The two-character ISO 3166-1 code representing the country that issued the
2251
+ # document (e.g., `US`).
2252
+ country:,
2253
+ # The passport's expiration date in YYYY-MM-DD format.
2254
+ expiration_date:,
2255
+ # The identifier of the File containing the passport.
2256
+ file_id:
2257
+ )
2258
+ end
2259
+
2260
+ sig do
2261
+ override.returns(
2262
+ { country: String, expiration_date: Date, file_id: String }
2263
+ )
2264
+ end
2265
+ def to_hash
2266
+ end
2267
+ end
2268
+ end
2269
+ end
2270
+
2271
+ class Trustee < Increase::Internal::Type::BaseModel
2272
+ OrHash =
2273
+ T.type_alias do
2274
+ T.any(
2275
+ Increase::EntityUpdateParams::Trust::Trustee,
2276
+ Increase::Internal::AnyHash
2277
+ )
2278
+ end
2279
+
2280
+ # The structure of the trustee.
2281
+ sig do
2282
+ returns(
2283
+ Increase::EntityUpdateParams::Trust::Trustee::Structure::OrSymbol
2284
+ )
2285
+ end
2286
+ attr_accessor :structure
2287
+
2288
+ # Details of the individual trustee. Within the trustee object, this is required
2289
+ # if `structure` is equal to `individual`.
2290
+ sig do
2291
+ returns(
2292
+ T.nilable(
2293
+ Increase::EntityUpdateParams::Trust::Trustee::Individual
2294
+ )
2295
+ )
2296
+ end
2297
+ attr_reader :individual
2298
+
2299
+ sig do
2300
+ params(
2301
+ individual:
2302
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::OrHash
2303
+ ).void
2304
+ end
2305
+ attr_writer :individual
2306
+
2307
+ sig do
2308
+ params(
2309
+ structure:
2310
+ Increase::EntityUpdateParams::Trust::Trustee::Structure::OrSymbol,
2311
+ individual:
2312
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::OrHash
2313
+ ).returns(T.attached_class)
2314
+ end
2315
+ def self.new(
2316
+ # The structure of the trustee.
2317
+ structure:,
2318
+ # Details of the individual trustee. Within the trustee object, this is required
2319
+ # if `structure` is equal to `individual`.
2320
+ individual: nil
2321
+ )
2322
+ end
2323
+
2324
+ sig do
2325
+ override.returns(
2326
+ {
2327
+ structure:
2328
+ Increase::EntityUpdateParams::Trust::Trustee::Structure::OrSymbol,
2329
+ individual:
2330
+ Increase::EntityUpdateParams::Trust::Trustee::Individual
2331
+ }
2332
+ )
2333
+ end
2334
+ def to_hash
2335
+ end
2336
+
2337
+ # The structure of the trustee.
2338
+ module Structure
2339
+ extend Increase::Internal::Type::Enum
2340
+
2341
+ TaggedSymbol =
2342
+ T.type_alias do
2343
+ T.all(
2344
+ Symbol,
2345
+ Increase::EntityUpdateParams::Trust::Trustee::Structure
2346
+ )
2347
+ end
2348
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2349
+
2350
+ # The trustee is an individual.
2351
+ INDIVIDUAL =
2352
+ T.let(
2353
+ :individual,
2354
+ Increase::EntityUpdateParams::Trust::Trustee::Structure::TaggedSymbol
2355
+ )
2356
+
2357
+ sig do
2358
+ override.returns(
2359
+ T::Array[
2360
+ Increase::EntityUpdateParams::Trust::Trustee::Structure::TaggedSymbol
2361
+ ]
2362
+ )
2363
+ end
2364
+ def self.values
2365
+ end
2366
+ end
2367
+
2368
+ class Individual < Increase::Internal::Type::BaseModel
2369
+ OrHash =
2370
+ T.type_alias do
2371
+ T.any(
2372
+ Increase::EntityUpdateParams::Trust::Trustee::Individual,
2373
+ Increase::Internal::AnyHash
2374
+ )
2375
+ end
2376
+
2377
+ # The individual's physical address. Mail receiving locations like PO Boxes and
2378
+ # PMB's are disallowed.
2379
+ sig do
2380
+ returns(
2381
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Address
2382
+ )
2383
+ end
2384
+ attr_reader :address
2385
+
2386
+ sig do
2387
+ params(
2388
+ address:
2389
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Address::OrHash
2390
+ ).void
2391
+ end
2392
+ attr_writer :address
2393
+
2394
+ # The person's date of birth in YYYY-MM-DD format.
2395
+ sig { returns(Date) }
2396
+ attr_accessor :date_of_birth
2397
+
2398
+ # A means of verifying the person's identity.
2399
+ sig do
2400
+ returns(
2401
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification
2402
+ )
2403
+ end
2404
+ attr_reader :identification
2405
+
2406
+ sig do
2407
+ params(
2408
+ identification:
2409
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::OrHash
2410
+ ).void
2411
+ end
2412
+ attr_writer :identification
2413
+
2414
+ # The person's legal name.
2415
+ sig { returns(String) }
2416
+ attr_accessor :name
2417
+
2418
+ # The identification method for an individual can only be a passport, driver's
2419
+ # license, or other document if you've confirmed the individual does not have a US
2420
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
2421
+ # Number).
2422
+ sig { returns(T.nilable(T::Boolean)) }
2423
+ attr_reader :confirmed_no_us_tax_id
2424
+
2425
+ sig { params(confirmed_no_us_tax_id: T::Boolean).void }
2426
+ attr_writer :confirmed_no_us_tax_id
2427
+
2428
+ # Details of the individual trustee. Within the trustee object, this is required
2429
+ # if `structure` is equal to `individual`.
2430
+ sig do
2431
+ params(
2432
+ address:
2433
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Address::OrHash,
2434
+ date_of_birth: Date,
2435
+ identification:
2436
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::OrHash,
2437
+ name: String,
2438
+ confirmed_no_us_tax_id: T::Boolean
2439
+ ).returns(T.attached_class)
2440
+ end
2441
+ def self.new(
2442
+ # The individual's physical address. Mail receiving locations like PO Boxes and
2443
+ # PMB's are disallowed.
2444
+ address:,
2445
+ # The person's date of birth in YYYY-MM-DD format.
2446
+ date_of_birth:,
2447
+ # A means of verifying the person's identity.
2448
+ identification:,
2449
+ # The person's legal name.
2450
+ name:,
2451
+ # The identification method for an individual can only be a passport, driver's
2452
+ # license, or other document if you've confirmed the individual does not have a US
2453
+ # tax id (either a Social Security Number or Individual Taxpayer Identification
2454
+ # Number).
2455
+ confirmed_no_us_tax_id: nil
2456
+ )
2457
+ end
2458
+
2459
+ sig do
2460
+ override.returns(
2461
+ {
2462
+ address:
2463
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Address,
2464
+ date_of_birth: Date,
2465
+ identification:
2466
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification,
2467
+ name: String,
2468
+ confirmed_no_us_tax_id: T::Boolean
2469
+ }
2470
+ )
2471
+ end
2472
+ def to_hash
2473
+ end
2474
+
2475
+ class Address < Increase::Internal::Type::BaseModel
2476
+ OrHash =
2477
+ T.type_alias do
2478
+ T.any(
2479
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Address,
2480
+ Increase::Internal::AnyHash
2481
+ )
2482
+ end
2483
+
2484
+ # The city, district, town, or village of the address.
2485
+ sig { returns(String) }
2486
+ attr_accessor :city
2487
+
2488
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
2489
+ #
2490
+ # Defaults to `US`.
2491
+ sig { returns(String) }
2492
+ attr_accessor :country
2493
+
2494
+ # The first line of the address. This is usually the street number and street.
2495
+ sig { returns(String) }
2496
+ attr_accessor :line1
2497
+
2498
+ # The second line of the address. This might be the floor or room number.
2499
+ sig { returns(T.nilable(String)) }
2500
+ attr_reader :line2
2501
+
2502
+ sig { params(line2: String).void }
2503
+ attr_writer :line2
2504
+
2505
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
2506
+ # state, province, or region of the address. Required in certain countries.
2507
+ sig { returns(T.nilable(String)) }
2508
+ attr_reader :state
2509
+
2510
+ sig { params(state: String).void }
2511
+ attr_writer :state
2512
+
2513
+ # The ZIP or postal code of the address. Required in certain countries.
2514
+ sig { returns(T.nilable(String)) }
2515
+ attr_reader :zip
2516
+
2517
+ sig { params(zip: String).void }
2518
+ attr_writer :zip
2519
+
2520
+ # The individual's physical address. Mail receiving locations like PO Boxes and
2521
+ # PMB's are disallowed.
2522
+ sig do
2523
+ params(
2524
+ city: String,
2525
+ country: String,
2526
+ line1: String,
2527
+ line2: String,
2528
+ state: String,
2529
+ zip: String
2530
+ ).returns(T.attached_class)
2531
+ end
2532
+ def self.new(
2533
+ # The city, district, town, or village of the address.
2534
+ city:,
2535
+ # The two-letter ISO 3166-1 alpha-2 code for the country of the address.
2536
+ #
2537
+ # Defaults to `US`.
2538
+ country:,
2539
+ # The first line of the address. This is usually the street number and street.
2540
+ line1:,
2541
+ # The second line of the address. This might be the floor or room number.
2542
+ line2: nil,
2543
+ # The two-letter United States Postal Service (USPS) abbreviation for the US
2544
+ # state, province, or region of the address. Required in certain countries.
2545
+ state: nil,
2546
+ # The ZIP or postal code of the address. Required in certain countries.
2547
+ zip: nil
2548
+ )
2549
+ end
2550
+
2551
+ sig do
2552
+ override.returns(
2553
+ {
2554
+ city: String,
2555
+ country: String,
2556
+ line1: String,
2557
+ line2: String,
2558
+ state: String,
2559
+ zip: String
2560
+ }
2561
+ )
2562
+ end
2563
+ def to_hash
2564
+ end
2565
+ end
2566
+
2567
+ class Identification < Increase::Internal::Type::BaseModel
2568
+ OrHash =
2569
+ T.type_alias do
2570
+ T.any(
2571
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification,
2572
+ Increase::Internal::AnyHash
2573
+ )
2574
+ end
2575
+
2576
+ # A method that can be used to verify the individual's identity.
2577
+ #
2578
+ # Defaults to `social_security_number`.
2579
+ sig do
2580
+ returns(
2581
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::OrSymbol
2582
+ )
2583
+ end
2584
+ attr_accessor :method_
2585
+
2586
+ # An identification number that can be used to verify the individual's identity,
2587
+ # such as a social security number. For Social Security Numbers and Individual
2588
+ # Taxpayer Identification Numbers, submit nine digits with no dashes or other
2589
+ # separators. When testing in sandbox, use one of our
2590
+ # [sandbox test values](https://increase.com/documentation/sandbox-test-values).
2591
+ sig { returns(String) }
2592
+ attr_accessor :number
2593
+
2594
+ # Information about the United States driver's license used for identification.
2595
+ # Required if `method` is equal to `drivers_license`.
2596
+ sig do
2597
+ returns(
2598
+ T.nilable(
2599
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::DriversLicense
2600
+ )
2601
+ )
2602
+ end
2603
+ attr_reader :drivers_license
2604
+
2605
+ sig do
2606
+ params(
2607
+ drivers_license:
2608
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::DriversLicense::OrHash
2609
+ ).void
2610
+ end
2611
+ attr_writer :drivers_license
2612
+
2613
+ # Information about the identification document provided. Required if `method` is
2614
+ # equal to `other`.
2615
+ sig do
2616
+ returns(
2617
+ T.nilable(
2618
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Other
2619
+ )
2620
+ )
2621
+ end
2622
+ attr_reader :other
2623
+
2624
+ sig do
2625
+ params(
2626
+ other:
2627
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Other::OrHash
2628
+ ).void
2629
+ end
2630
+ attr_writer :other
2631
+
2632
+ # Information about the passport used for identification. Required if `method` is
2633
+ # equal to `passport`.
2634
+ sig do
2635
+ returns(
2636
+ T.nilable(
2637
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Passport
2638
+ )
2639
+ )
2640
+ end
2641
+ attr_reader :passport
2642
+
2643
+ sig do
2644
+ params(
2645
+ passport:
2646
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Passport::OrHash
2647
+ ).void
2648
+ end
2649
+ attr_writer :passport
2650
+
2651
+ # A means of verifying the person's identity.
2652
+ sig do
2653
+ params(
2654
+ method_:
2655
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::OrSymbol,
2656
+ number: String,
2657
+ drivers_license:
2658
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::DriversLicense::OrHash,
2659
+ other:
2660
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Other::OrHash,
2661
+ passport:
2662
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Passport::OrHash
2663
+ ).returns(T.attached_class)
2664
+ end
2665
+ def self.new(
2666
+ # A method that can be used to verify the individual's identity.
2667
+ #
2668
+ # Defaults to `social_security_number`.
2669
+ method_:,
2670
+ # An identification number that can be used to verify the individual's identity,
2671
+ # such as a social security number. For Social Security Numbers and Individual
2672
+ # Taxpayer Identification Numbers, submit nine digits with no dashes or other
2673
+ # separators. When testing in sandbox, use one of our
2674
+ # [sandbox test values](https://increase.com/documentation/sandbox-test-values).
2675
+ number:,
2676
+ # Information about the United States driver's license used for identification.
2677
+ # Required if `method` is equal to `drivers_license`.
2678
+ drivers_license: nil,
2679
+ # Information about the identification document provided. Required if `method` is
2680
+ # equal to `other`.
2681
+ other: nil,
2682
+ # Information about the passport used for identification. Required if `method` is
2683
+ # equal to `passport`.
2684
+ passport: nil
2685
+ )
2686
+ end
2687
+
2688
+ sig do
2689
+ override.returns(
2690
+ {
2691
+ method_:
2692
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::OrSymbol,
2693
+ number: String,
2694
+ drivers_license:
2695
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::DriversLicense,
2696
+ other:
2697
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Other,
2698
+ passport:
2699
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Passport
2700
+ }
2701
+ )
2702
+ end
2703
+ def to_hash
2704
+ end
2705
+
2706
+ # A method that can be used to verify the individual's identity.
2707
+ #
2708
+ # Defaults to `social_security_number`.
2709
+ module Method
2710
+ extend Increase::Internal::Type::Enum
2711
+
2712
+ TaggedSymbol =
2713
+ T.type_alias do
2714
+ T.all(
2715
+ Symbol,
2716
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method
2717
+ )
2718
+ end
2719
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2720
+
2721
+ # A social security number.
2722
+ SOCIAL_SECURITY_NUMBER =
2723
+ T.let(
2724
+ :social_security_number,
2725
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2726
+ )
2727
+
2728
+ # An individual taxpayer identification number (ITIN).
2729
+ INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER =
2730
+ T.let(
2731
+ :individual_taxpayer_identification_number,
2732
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2733
+ )
2734
+
2735
+ # A passport number.
2736
+ PASSPORT =
2737
+ T.let(
2738
+ :passport,
2739
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2740
+ )
2741
+
2742
+ # A driver's license number.
2743
+ DRIVERS_LICENSE =
2744
+ T.let(
2745
+ :drivers_license,
2746
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2747
+ )
2748
+
2749
+ # Another identifying document.
2750
+ OTHER =
2751
+ T.let(
2752
+ :other,
2753
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2754
+ )
2755
+
2756
+ sig do
2757
+ override.returns(
2758
+ T::Array[
2759
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Method::TaggedSymbol
2760
+ ]
2761
+ )
2762
+ end
2763
+ def self.values
2764
+ end
2765
+ end
2766
+
2767
+ class DriversLicense < Increase::Internal::Type::BaseModel
2768
+ OrHash =
2769
+ T.type_alias do
2770
+ T.any(
2771
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::DriversLicense,
2772
+ Increase::Internal::AnyHash
2773
+ )
2774
+ end
2775
+
2776
+ # The driver's license's expiration date in YYYY-MM-DD format.
2777
+ sig { returns(Date) }
2778
+ attr_accessor :expiration_date
2779
+
2780
+ # The identifier of the File containing the front of the driver's license.
2781
+ sig { returns(String) }
2782
+ attr_accessor :file_id
2783
+
2784
+ # The state that issued the provided driver's license.
2785
+ sig { returns(String) }
2786
+ attr_accessor :state
2787
+
2788
+ # The identifier of the File containing the back of the driver's license.
2789
+ sig { returns(T.nilable(String)) }
2790
+ attr_reader :back_file_id
2791
+
2792
+ sig { params(back_file_id: String).void }
2793
+ attr_writer :back_file_id
2794
+
2795
+ # Information about the United States driver's license used for identification.
2796
+ # Required if `method` is equal to `drivers_license`.
2797
+ sig do
2798
+ params(
2799
+ expiration_date: Date,
2800
+ file_id: String,
2801
+ state: String,
2802
+ back_file_id: String
2803
+ ).returns(T.attached_class)
2804
+ end
2805
+ def self.new(
2806
+ # The driver's license's expiration date in YYYY-MM-DD format.
2807
+ expiration_date:,
2808
+ # The identifier of the File containing the front of the driver's license.
2809
+ file_id:,
2810
+ # The state that issued the provided driver's license.
2811
+ state:,
2812
+ # The identifier of the File containing the back of the driver's license.
2813
+ back_file_id: nil
2814
+ )
2815
+ end
2816
+
2817
+ sig do
2818
+ override.returns(
2819
+ {
2820
+ expiration_date: Date,
2821
+ file_id: String,
2822
+ state: String,
2823
+ back_file_id: String
2824
+ }
2825
+ )
2826
+ end
2827
+ def to_hash
2828
+ end
2829
+ end
2830
+
2831
+ class Other < Increase::Internal::Type::BaseModel
2832
+ OrHash =
2833
+ T.type_alias do
2834
+ T.any(
2835
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Other,
2836
+ Increase::Internal::AnyHash
2837
+ )
2838
+ end
2839
+
2840
+ # The two-character ISO 3166-1 code representing the country that issued the
2841
+ # document (e.g., `US`).
2842
+ sig { returns(String) }
2843
+ attr_accessor :country
2844
+
2845
+ # A description of the document submitted.
2846
+ sig { returns(String) }
2847
+ attr_accessor :description
2848
+
2849
+ # The identifier of the File containing the front of the document.
2850
+ sig { returns(String) }
2851
+ attr_accessor :file_id
2852
+
2853
+ # The identifier of the File containing the back of the document. Not every
2854
+ # document has a reverse side.
2855
+ sig { returns(T.nilable(String)) }
2856
+ attr_reader :back_file_id
2857
+
2858
+ sig { params(back_file_id: String).void }
2859
+ attr_writer :back_file_id
2860
+
2861
+ # The document's expiration date in YYYY-MM-DD format.
2862
+ sig { returns(T.nilable(Date)) }
2863
+ attr_reader :expiration_date
2864
+
2865
+ sig { params(expiration_date: Date).void }
2866
+ attr_writer :expiration_date
2867
+
2868
+ # Information about the identification document provided. Required if `method` is
2869
+ # equal to `other`.
2870
+ sig do
2871
+ params(
2872
+ country: String,
2873
+ description: String,
2874
+ file_id: String,
2875
+ back_file_id: String,
2876
+ expiration_date: Date
2877
+ ).returns(T.attached_class)
2878
+ end
2879
+ def self.new(
2880
+ # The two-character ISO 3166-1 code representing the country that issued the
2881
+ # document (e.g., `US`).
2882
+ country:,
2883
+ # A description of the document submitted.
2884
+ description:,
2885
+ # The identifier of the File containing the front of the document.
2886
+ file_id:,
2887
+ # The identifier of the File containing the back of the document. Not every
2888
+ # document has a reverse side.
2889
+ back_file_id: nil,
2890
+ # The document's expiration date in YYYY-MM-DD format.
2891
+ expiration_date: nil
2892
+ )
2893
+ end
2894
+
2895
+ sig do
2896
+ override.returns(
2897
+ {
2898
+ country: String,
2899
+ description: String,
2900
+ file_id: String,
2901
+ back_file_id: String,
2902
+ expiration_date: Date
2903
+ }
2904
+ )
2905
+ end
2906
+ def to_hash
2907
+ end
2908
+ end
2909
+
2910
+ class Passport < Increase::Internal::Type::BaseModel
2911
+ OrHash =
2912
+ T.type_alias do
2913
+ T.any(
2914
+ Increase::EntityUpdateParams::Trust::Trustee::Individual::Identification::Passport,
2915
+ Increase::Internal::AnyHash
2916
+ )
2917
+ end
2918
+
2919
+ # The two-character ISO 3166-1 code representing the country that issued the
2920
+ # document (e.g., `US`).
2921
+ sig { returns(String) }
2922
+ attr_accessor :country
2923
+
2924
+ # The passport's expiration date in YYYY-MM-DD format.
2925
+ sig { returns(Date) }
2926
+ attr_accessor :expiration_date
2927
+
2928
+ # The identifier of the File containing the passport.
2929
+ sig { returns(String) }
2930
+ attr_accessor :file_id
2931
+
2932
+ # Information about the passport used for identification. Required if `method` is
2933
+ # equal to `passport`.
2934
+ sig do
2935
+ params(
2936
+ country: String,
2937
+ expiration_date: Date,
2938
+ file_id: String
2939
+ ).returns(T.attached_class)
2940
+ end
2941
+ def self.new(
2942
+ # The two-character ISO 3166-1 code representing the country that issued the
2943
+ # document (e.g., `US`).
2944
+ country:,
2945
+ # The passport's expiration date in YYYY-MM-DD format.
2946
+ expiration_date:,
2947
+ # The identifier of the File containing the passport.
2948
+ file_id:
2949
+ )
2950
+ end
2951
+
2952
+ sig do
2953
+ override.returns(
2954
+ { country: String, expiration_date: Date, file_id: String }
2955
+ )
2956
+ end
2957
+ def to_hash
2958
+ end
2959
+ end
2960
+ end
2961
+ end
2962
+ end
1640
2963
  end
1641
2964
  end
1642
2965
  end