lithic 0.4.0 → 0.6.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +10 -1
  4. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  5. data/lib/lithic/internal/util.rb +1 -1
  6. data/lib/lithic/models/account_holder.rb +14 -5
  7. data/lib/lithic/models/account_holder_create_params.rb +10 -1
  8. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -0
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +14 -5
  10. data/lib/lithic/models/account_holder_update_params.rb +10 -1
  11. data/lib/lithic/models/account_holder_update_response.rb +14 -5
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +10 -1
  13. data/lib/lithic/models/account_holders/account_holder_entity.rb +183 -0
  14. data/lib/lithic/models/account_holders/entity_create_params.rb +159 -0
  15. data/lib/lithic/models/account_holders/entity_create_response.rb +113 -0
  16. data/lib/lithic/models/account_holders/entity_delete_params.rb +22 -0
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +6 -2
  18. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -3
  19. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +3 -0
  20. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +47 -21
  21. data/lib/lithic/models/auth_rules/v2_create_params.rb +5 -2
  22. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -0
  23. data/lib/lithic/models/auth_rules/v2_list_results_params.rb +70 -0
  24. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +740 -0
  25. data/lib/lithic/models/book_transfer_create_params.rb +9 -1
  26. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +178 -25
  27. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +9 -9
  28. data/lib/lithic/models/financial_account.rb +1 -0
  29. data/lib/lithic/models/financial_account_update_status_params.rb +1 -0
  30. data/lib/lithic/models/financial_accounts/category_tier.rb +28 -0
  31. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +50 -0
  32. data/lib/lithic/models/financial_accounts/interest_tier_schedule_create_params.rb +16 -0
  33. data/lib/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rb +22 -0
  34. data/lib/lithic/models/financial_accounts/interest_tier_schedule_list_params.rb +40 -0
  35. data/lib/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rb +22 -0
  36. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +44 -0
  37. data/lib/lithic/models/financial_accounts/loan_tape.rb +1 -0
  38. data/lib/lithic/models/financial_accounts/loan_tape_configuration.rb +63 -0
  39. data/lib/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rb +16 -0
  40. data/lib/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rb +36 -0
  41. data/lib/lithic/models/financial_accounts/statement.rb +1 -0
  42. data/lib/lithic/models/kyb.rb +10 -1
  43. data/lib/lithic/models/parsed_webhook_event.rb +10 -1
  44. data/lib/lithic/models/{digital_wallet_token_metadata.rb → token_metadata.rb} +18 -19
  45. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +9 -9
  46. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +9 -9
  47. data/lib/lithic/models.rb +4 -2
  48. data/lib/lithic/resources/account_holders/entities.rb +89 -0
  49. data/lib/lithic/resources/account_holders.rb +10 -2
  50. data/lib/lithic/resources/auth_rules/v2.rb +42 -0
  51. data/lib/lithic/resources/book_transfers.rb +3 -1
  52. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +205 -0
  53. data/lib/lithic/resources/financial_accounts/loan_tape_configuration.rb +36 -0
  54. data/lib/lithic/resources/financial_accounts.rb +9 -0
  55. data/lib/lithic/version.rb +1 -1
  56. data/lib/lithic.rb +20 -1
  57. data/rbi/lithic/internal/util.rbi +1 -1
  58. data/rbi/lithic/models/account_holder.rbi +19 -6
  59. data/rbi/lithic/models/account_holder_create_params.rbi +13 -0
  60. data/rbi/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -0
  61. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +19 -6
  62. data/rbi/lithic/models/account_holder_update_params.rbi +13 -0
  63. data/rbi/lithic/models/account_holder_update_response.rbi +19 -6
  64. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +13 -0
  65. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +296 -0
  66. data/rbi/lithic/models/account_holders/entity_create_params.rbi +242 -0
  67. data/rbi/lithic/models/account_holders/entity_create_response.rbi +292 -0
  68. data/rbi/lithic/models/account_holders/entity_delete_params.rbi +43 -0
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  71. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +1 -0
  72. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +69 -30
  73. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +6 -3
  74. data/rbi/lithic/models/auth_rules/v2_list_results_params.rbi +112 -0
  75. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +1826 -0
  76. data/rbi/lithic/models/book_transfer_create_params.rbi +11 -0
  77. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +337 -36
  78. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +15 -17
  79. data/rbi/lithic/models/financial_account.rbi +5 -0
  80. data/rbi/lithic/models/financial_account_update_status_params.rbi +5 -0
  81. data/rbi/lithic/models/financial_accounts/category_tier.rbi +45 -0
  82. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +75 -0
  83. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbi +32 -0
  84. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbi +43 -0
  85. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbi +73 -0
  86. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbi +43 -0
  87. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +70 -0
  88. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +5 -0
  89. data/rbi/lithic/models/financial_accounts/loan_tape_configuration.rbi +99 -0
  90. data/rbi/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbi +32 -0
  91. data/rbi/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbi +65 -0
  92. data/rbi/lithic/models/financial_accounts/statement.rbi +5 -0
  93. data/rbi/lithic/models/kyb.rbi +13 -0
  94. data/rbi/lithic/models/parsed_webhook_event.rbi +13 -0
  95. data/rbi/lithic/models/{digital_wallet_token_metadata.rbi → token_metadata.rbi} +34 -41
  96. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +11 -17
  97. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +15 -17
  98. data/rbi/lithic/models.rbi +4 -2
  99. data/rbi/lithic/resources/account_holders/entities.rbi +80 -0
  100. data/rbi/lithic/resources/account_holders.rbi +11 -0
  101. data/rbi/lithic/resources/auth_rules/v2.rbi +44 -1
  102. data/rbi/lithic/resources/book_transfers.rbi +3 -0
  103. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +156 -0
  104. data/rbi/lithic/resources/financial_accounts/loan_tape_configuration.rbi +30 -0
  105. data/rbi/lithic/resources/financial_accounts.rbi +10 -0
  106. data/sig/lithic/models/account_holder.rbs +7 -0
  107. data/sig/lithic/models/account_holder_create_params.rbs +7 -0
  108. data/sig/lithic/models/account_holder_simulate_enrollment_review_params.rbs +2 -1
  109. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +7 -0
  110. data/sig/lithic/models/account_holder_update_params.rbs +7 -0
  111. data/sig/lithic/models/account_holder_update_response.rbs +7 -0
  112. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +7 -0
  113. data/sig/lithic/models/account_holders/account_holder_entity.rbs +137 -0
  114. data/sig/lithic/models/account_holders/entity_create_params.rbs +118 -0
  115. data/sig/lithic/models/account_holders/entity_create_response.rbs +117 -0
  116. data/sig/lithic/models/account_holders/entity_delete_params.rbs +26 -0
  117. data/sig/lithic/models/auth_rules/v2_list_results_params.rbs +65 -0
  118. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +752 -0
  119. data/sig/lithic/models/book_transfer_create_params.rbs +7 -0
  120. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +96 -0
  121. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +5 -9
  122. data/sig/lithic/models/financial_account.rbs +2 -0
  123. data/sig/lithic/models/financial_account_update_status_params.rbs +2 -0
  124. data/sig/lithic/models/financial_accounts/category_tier.rbs +21 -0
  125. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +41 -0
  126. data/sig/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbs +17 -0
  127. data/sig/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbs +26 -0
  128. data/sig/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbs +40 -0
  129. data/sig/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbs +26 -0
  130. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +38 -0
  131. data/sig/lithic/models/financial_accounts/loan_tape.rbs +2 -0
  132. data/sig/lithic/models/financial_accounts/loan_tape_configuration.rbs +60 -0
  133. data/sig/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbs +17 -0
  134. data/sig/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbs +32 -0
  135. data/sig/lithic/models/financial_accounts/statement.rbs +2 -0
  136. data/sig/lithic/models/kyb.rbs +7 -0
  137. data/sig/lithic/models/parsed_webhook_event.rbs +7 -0
  138. data/sig/lithic/models/{digital_wallet_token_metadata.rbs → token_metadata.rbs} +19 -17
  139. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +5 -9
  140. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +5 -9
  141. data/sig/lithic/models.rbs +4 -2
  142. data/sig/lithic/resources/account_holders/entities.rbs +28 -0
  143. data/sig/lithic/resources/account_holders.rbs +4 -0
  144. data/sig/lithic/resources/auth_rules/v2.rbs +10 -0
  145. data/sig/lithic/resources/book_transfers.rbs +1 -0
  146. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +46 -0
  147. data/sig/lithic/resources/financial_accounts/loan_tape_configuration.rbs +14 -0
  148. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  149. metadata +62 -5
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class FinancialAccountsInterestTierSchedule < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for a credit product
16
+ sig { returns(String) }
17
+ attr_accessor :credit_product_token
18
+
19
+ # Date the tier should be effective in YYYY-MM-DD format
20
+ sig { returns(Date) }
21
+ attr_accessor :effective_date
22
+
23
+ # Name of a tier contained in the credit product. Mutually exclusive with
24
+ # tier_rates
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :tier_name
27
+
28
+ sig { params(tier_name: String).void }
29
+ attr_writer :tier_name
30
+
31
+ # Custom rates per category. Mutually exclusive with tier_name
32
+ sig { returns(T.nilable(T.anything)) }
33
+ attr_reader :tier_rates
34
+
35
+ sig { params(tier_rates: T.anything).void }
36
+ attr_writer :tier_rates
37
+
38
+ # Entry in the Tier Schedule of an account
39
+ sig do
40
+ params(
41
+ credit_product_token: String,
42
+ effective_date: Date,
43
+ tier_name: String,
44
+ tier_rates: T.anything
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # Globally unique identifier for a credit product
49
+ credit_product_token:,
50
+ # Date the tier should be effective in YYYY-MM-DD format
51
+ effective_date:,
52
+ # Name of a tier contained in the credit product. Mutually exclusive with
53
+ # tier_rates
54
+ tier_name: nil,
55
+ # Custom rates per category. Mutually exclusive with tier_name
56
+ tier_rates: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ credit_product_token: String,
64
+ effective_date: Date,
65
+ tier_name: String,
66
+ tier_rates: T.anything
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleCreateParams < Lithic::Models::FinancialAccounts::FinancialAccountsInterestTierSchedule
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleCreateParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(request_options: {})
24
+ end
25
+
26
+ sig { override.returns({ request_options: Lithic::RequestOptions }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleDeleteParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleDeleteParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :financial_account_token
20
+
21
+ sig do
22
+ params(
23
+ financial_account_token: String,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(financial_account_token:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ {
33
+ financial_account_token: String,
34
+ request_options: Lithic::RequestOptions
35
+ }
36
+ )
37
+ end
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,73 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleListParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleListParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Return schedules with effective_date >= after_date (ISO format YYYY-MM-DD)
19
+ sig { returns(T.nilable(Date)) }
20
+ attr_reader :after_date
21
+
22
+ sig { params(after_date: Date).void }
23
+ attr_writer :after_date
24
+
25
+ # Return schedules with effective_date <= before_date (ISO format YYYY-MM-DD)
26
+ sig { returns(T.nilable(Date)) }
27
+ attr_reader :before_date
28
+
29
+ sig { params(before_date: Date).void }
30
+ attr_writer :before_date
31
+
32
+ # Return schedule with effective_date == for_date (ISO format YYYY-MM-DD)
33
+ sig { returns(T.nilable(Date)) }
34
+ attr_reader :for_date
35
+
36
+ sig { params(for_date: Date).void }
37
+ attr_writer :for_date
38
+
39
+ sig do
40
+ params(
41
+ after_date: Date,
42
+ before_date: Date,
43
+ for_date: Date,
44
+ request_options: Lithic::RequestOptions::OrHash
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # Return schedules with effective_date >= after_date (ISO format YYYY-MM-DD)
49
+ after_date: nil,
50
+ # Return schedules with effective_date <= before_date (ISO format YYYY-MM-DD)
51
+ before_date: nil,
52
+ # Return schedule with effective_date == for_date (ISO format YYYY-MM-DD)
53
+ for_date: nil,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ after_date: Date,
62
+ before_date: Date,
63
+ for_date: Date,
64
+ request_options: Lithic::RequestOptions
65
+ }
66
+ )
67
+ end
68
+ def to_hash
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleRetrieveParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :financial_account_token
20
+
21
+ sig do
22
+ params(
23
+ financial_account_token: String,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(financial_account_token:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ {
33
+ financial_account_token: String,
34
+ request_options: Lithic::RequestOptions
35
+ }
36
+ )
37
+ end
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,70 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleUpdateParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleUpdateParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :financial_account_token
20
+
21
+ # Name of a tier contained in the credit product. Mutually exclusive with
22
+ # tier_rates
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :tier_name
25
+
26
+ sig { params(tier_name: String).void }
27
+ attr_writer :tier_name
28
+
29
+ # Custom rates per category. Mutually exclusive with tier_name
30
+ sig { returns(T.nilable(T.anything)) }
31
+ attr_reader :tier_rates
32
+
33
+ sig { params(tier_rates: T.anything).void }
34
+ attr_writer :tier_rates
35
+
36
+ sig do
37
+ params(
38
+ financial_account_token: String,
39
+ tier_name: String,
40
+ tier_rates: T.anything,
41
+ request_options: Lithic::RequestOptions::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ financial_account_token:,
46
+ # Name of a tier contained in the credit product. Mutually exclusive with
47
+ # tier_rates
48
+ tier_name: nil,
49
+ # Custom rates per category. Mutually exclusive with tier_name
50
+ tier_rates: nil,
51
+ request_options: {}
52
+ )
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ {
58
+ financial_account_token: String,
59
+ tier_name: String,
60
+ tier_rates: T.anything,
61
+ request_options: Lithic::RequestOptions
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -525,6 +525,11 @@ module Lithic
525
525
  :DELINQUENT,
526
526
  Lithic::FinancialAccounts::LoanTape::AccountStanding::FinancialAccountState::Substatus::TaggedSymbol
527
527
  )
528
+ INTEREST_AND_FEES_PAUSED =
529
+ T.let(
530
+ :INTEREST_AND_FEES_PAUSED,
531
+ Lithic::FinancialAccounts::LoanTape::AccountStanding::FinancialAccountState::Substatus::TaggedSymbol
532
+ )
528
533
 
529
534
  sig do
530
535
  override.returns(
@@ -0,0 +1,99 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class FinancialAccountsLoanTapeConfiguration < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::FinancialAccounts::FinancialAccountsLoanTapeConfiguration,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(Time) }
16
+ attr_accessor :created_at
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :financial_account_token
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :instance_token
23
+
24
+ sig { returns(Time) }
25
+ attr_accessor :updated_at
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :credit_product_token
29
+
30
+ sig { params(credit_product_token: String).void }
31
+ attr_writer :credit_product_token
32
+
33
+ # Configuration for building loan tapes
34
+ sig do
35
+ returns(
36
+ T.nilable(Lithic::FinancialAccounts::LoanTapeRebuildConfiguration)
37
+ )
38
+ end
39
+ attr_reader :loan_tape_rebuild_configuration
40
+
41
+ sig do
42
+ params(
43
+ loan_tape_rebuild_configuration:
44
+ Lithic::FinancialAccounts::LoanTapeRebuildConfiguration::OrHash
45
+ ).void
46
+ end
47
+ attr_writer :loan_tape_rebuild_configuration
48
+
49
+ sig { returns(T.nilable(Time)) }
50
+ attr_reader :tier_schedule_changed_at
51
+
52
+ sig { params(tier_schedule_changed_at: Time).void }
53
+ attr_writer :tier_schedule_changed_at
54
+
55
+ # Configuration for loan tapes
56
+ sig do
57
+ params(
58
+ created_at: Time,
59
+ financial_account_token: String,
60
+ instance_token: String,
61
+ updated_at: Time,
62
+ credit_product_token: String,
63
+ loan_tape_rebuild_configuration:
64
+ Lithic::FinancialAccounts::LoanTapeRebuildConfiguration::OrHash,
65
+ tier_schedule_changed_at: Time
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ created_at:,
70
+ financial_account_token:,
71
+ instance_token:,
72
+ updated_at:,
73
+ credit_product_token: nil,
74
+ # Configuration for building loan tapes
75
+ loan_tape_rebuild_configuration: nil,
76
+ tier_schedule_changed_at: nil
77
+ )
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ {
83
+ created_at: Time,
84
+ financial_account_token: String,
85
+ instance_token: String,
86
+ updated_at: Time,
87
+ credit_product_token: String,
88
+ loan_tape_rebuild_configuration:
89
+ Lithic::FinancialAccounts::LoanTapeRebuildConfiguration,
90
+ tier_schedule_changed_at: Time
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class LoanTapeConfigurationRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::LoanTapeConfigurationRetrieveParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(request_options: {})
24
+ end
25
+
26
+ sig { override.returns({ request_options: Lithic::RequestOptions }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class LoanTapeRebuildConfiguration < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::FinancialAccounts::LoanTapeRebuildConfiguration,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Whether the account's loan tapes need to be rebuilt or not
16
+ sig { returns(T::Boolean) }
17
+ attr_accessor :rebuild_needed
18
+
19
+ # The date for which the account's loan tapes were last rebuilt
20
+ sig { returns(T.nilable(Date)) }
21
+ attr_reader :last_rebuild
22
+
23
+ sig { params(last_rebuild: Date).void }
24
+ attr_writer :last_rebuild
25
+
26
+ # Date from which to start rebuilding from if the account requires a rebuild
27
+ sig { returns(T.nilable(Date)) }
28
+ attr_reader :rebuild_from
29
+
30
+ sig { params(rebuild_from: Date).void }
31
+ attr_writer :rebuild_from
32
+
33
+ # Configuration for building loan tapes
34
+ sig do
35
+ params(
36
+ rebuild_needed: T::Boolean,
37
+ last_rebuild: Date,
38
+ rebuild_from: Date
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # Whether the account's loan tapes need to be rebuilt or not
43
+ rebuild_needed:,
44
+ # The date for which the account's loan tapes were last rebuilt
45
+ last_rebuild: nil,
46
+ # Date from which to start rebuilding from if the account requires a rebuild
47
+ rebuild_from: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ rebuild_needed: T::Boolean,
55
+ last_rebuild: Date,
56
+ rebuild_from: Date
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -520,6 +520,11 @@ module Lithic
520
520
  :DELINQUENT,
521
521
  Lithic::FinancialAccounts::Statement::AccountStanding::FinancialAccountState::Substatus::TaggedSymbol
522
522
  )
523
+ INTEREST_AND_FEES_PAUSED =
524
+ T.let(
525
+ :INTEREST_AND_FEES_PAUSED,
526
+ Lithic::FinancialAccounts::Statement::AccountStanding::FinancialAccountState::Substatus::TaggedSymbol
527
+ )
523
528
 
524
529
  sig do
525
530
  override.returns(
@@ -81,6 +81,14 @@ module Lithic
81
81
  sig { params(kyb_passed_timestamp: String).void }
82
82
  attr_writer :kyb_passed_timestamp
83
83
 
84
+ # 6-digit North American Industry Classification System (NAICS) code for the
85
+ # business.
86
+ sig { returns(T.nilable(String)) }
87
+ attr_reader :naics_code
88
+
89
+ sig { params(naics_code: String).void }
90
+ attr_writer :naics_code
91
+
84
92
  # Company website URL.
85
93
  sig { returns(T.nilable(String)) }
86
94
  attr_reader :website_url
@@ -101,6 +109,7 @@ module Lithic
101
109
  T::Array[Lithic::KYB::BeneficialOwnerEntity::OrHash],
102
110
  external_id: String,
103
111
  kyb_passed_timestamp: String,
112
+ naics_code: String,
104
113
  website_url: String
105
114
  ).returns(T.attached_class)
106
115
  end
@@ -143,6 +152,9 @@ module Lithic
143
152
  #
144
153
  # This field is required only if workflow type is `KYB_BYO`.
145
154
  kyb_passed_timestamp: nil,
155
+ # 6-digit North American Industry Classification System (NAICS) code for the
156
+ # business.
157
+ naics_code: nil,
146
158
  # Company website URL.
147
159
  website_url: nil
148
160
  )
@@ -162,6 +174,7 @@ module Lithic
162
174
  T::Array[Lithic::KYB::BeneficialOwnerEntity],
163
175
  external_id: String,
164
176
  kyb_passed_timestamp: String,
177
+ naics_code: String,
165
178
  website_url: String
166
179
  }
167
180
  )
@@ -121,6 +121,14 @@ module Lithic
121
121
  sig { params(external_id: String).void }
122
122
  attr_writer :external_id
123
123
 
124
+ # 6-digit North American Industry Classification System (NAICS) code for the
125
+ # business. Only present if naics_code was included in the update request.
126
+ sig { returns(T.nilable(String)) }
127
+ attr_reader :naics_code
128
+
129
+ sig { params(naics_code: String).void }
130
+ attr_writer :naics_code
131
+
124
132
  # Short description of the company's line of business (i.e., what does the company
125
133
  # do?).
126
134
  sig { returns(T.nilable(String)) }
@@ -145,6 +153,7 @@ module Lithic
145
153
  event_type:
146
154
  Lithic::ParsedWebhookEvent::KYBPayload::EventType::OrSymbol,
147
155
  external_id: String,
156
+ naics_code: String,
148
157
  nature_of_business: String,
149
158
  website_url: String
150
159
  ).returns(T.attached_class)
@@ -159,6 +168,9 @@ module Lithic
159
168
  # A user provided id that can be used to link an account holder with an external
160
169
  # system
161
170
  external_id: nil,
171
+ # 6-digit North American Industry Classification System (NAICS) code for the
172
+ # business. Only present if naics_code was included in the update request.
173
+ naics_code: nil,
162
174
  # Short description of the company's line of business (i.e., what does the company
163
175
  # do?).
164
176
  nature_of_business: nil,
@@ -176,6 +188,7 @@ module Lithic
176
188
  event_type:
177
189
  Lithic::ParsedWebhookEvent::KYBPayload::EventType::TaggedSymbol,
178
190
  external_id: String,
191
+ naics_code: String,
179
192
  nature_of_business: String,
180
193
  website_url: String
181
194
  }