lithic 0.1.0.pre.alpha.5 → 0.1.0.pre.alpha.6

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -5
  3. data/lib/lithic/internal/cursor_page.rb +5 -1
  4. data/lib/lithic/internal/single_page.rb +5 -1
  5. data/lib/lithic/internal/transport/base_client.rb +2 -2
  6. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  7. data/lib/lithic/internal/type/array_of.rb +5 -3
  8. data/lib/lithic/internal/type/base_model.rb +12 -6
  9. data/lib/lithic/internal/type/base_page.rb +4 -1
  10. data/lib/lithic/internal/type/{boolean_model.rb → boolean.rb} +2 -2
  11. data/lib/lithic/internal/type/converter.rb +6 -1
  12. data/lib/lithic/internal/type/enum.rb +2 -0
  13. data/lib/lithic/internal/type/hash_of.rb +3 -1
  14. data/lib/lithic/internal/util.rb +28 -45
  15. data/lib/lithic/models/account_holder.rb +1 -2
  16. data/lib/lithic/models/account_holder_create_params.rb +89 -93
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +1 -1
  18. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +2 -2
  19. data/lib/lithic/models/auth_rules/v2_apply_params.rb +1 -1
  20. data/lib/lithic/models/auth_rules/v2_apply_response.rb +1 -1
  21. data/lib/lithic/models/auth_rules/v2_create_params.rb +1 -1
  22. data/lib/lithic/models/auth_rules/v2_create_response.rb +1 -1
  23. data/lib/lithic/models/auth_rules/v2_draft_response.rb +1 -1
  24. data/lib/lithic/models/auth_rules/v2_list_response.rb +1 -1
  25. data/lib/lithic/models/auth_rules/v2_promote_response.rb +1 -1
  26. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +1 -1
  27. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -1
  28. data/lib/lithic/models/auth_rules/v2_update_response.rb +1 -1
  29. data/lib/lithic/models/card_convert_physical_params.rb +5 -5
  30. data/lib/lithic/models/card_reissue_params.rb +5 -5
  31. data/lib/lithic/models/card_renew_params.rb +5 -5
  32. data/lib/lithic/models/credit_products/prime_rate_retrieve_response.rb +1 -1
  33. data/lib/lithic/models/digital_card_art.rb +2 -2
  34. data/lib/lithic/models/event_list_params.rb +1 -1
  35. data/lib/lithic/models/event_subscription.rb +1 -1
  36. data/lib/lithic/models/events/event_subscription_resend_params.rb +27 -0
  37. data/lib/lithic/models/events/subscription_create_params.rb +1 -1
  38. data/lib/lithic/models/events/subscription_update_params.rb +1 -1
  39. data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
  40. data/lib/lithic/models/financial_account.rb +11 -13
  41. data/lib/lithic/models/financial_account_create_params.rb +1 -1
  42. data/lib/lithic/models/financial_account_update_status_params.rb +9 -9
  43. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +1 -1
  44. data/lib/lithic/models/financial_accounts/loan_tape.rb +11 -11
  45. data/lib/lithic/models/financial_accounts/statement.rb +11 -11
  46. data/lib/lithic/models/financial_accounts/statement_list_params.rb +1 -1
  47. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -1
  48. data/lib/lithic/models/financial_accounts/statements.rb +1 -1
  49. data/lib/lithic/models/kyb.rb +89 -93
  50. data/lib/lithic/models/responder_endpoint_create_response.rb +1 -1
  51. data/lib/lithic/models/responder_endpoint_status.rb +1 -1
  52. data/lib/lithic/models/settlement_report.rb +1 -1
  53. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +3 -3
  54. data/lib/lithic/models/transaction.rb +5 -5
  55. data/lib/lithic/models/transaction_simulate_authorization_params.rb +1 -1
  56. data/lib/lithic/resources/account_holders.rb +3 -3
  57. data/lib/lithic/resources/accounts.rb +1 -1
  58. data/lib/lithic/resources/auth_rules/v2/backtests.rb +1 -1
  59. data/lib/lithic/resources/book_transfers.rb +1 -1
  60. data/lib/lithic/resources/cards/financial_transactions.rb +1 -1
  61. data/lib/lithic/resources/cards.rb +10 -7
  62. data/lib/lithic/resources/disputes.rb +2 -2
  63. data/lib/lithic/resources/events/event_subscriptions.rb +41 -0
  64. data/lib/lithic/resources/events/subscriptions.rb +3 -3
  65. data/lib/lithic/resources/events.rb +6 -2
  66. data/lib/lithic/resources/external_payments.rb +1 -1
  67. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +1 -1
  68. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +1 -1
  69. data/lib/lithic/resources/financial_accounts/statements.rb +1 -1
  70. data/lib/lithic/resources/financial_accounts.rb +5 -5
  71. data/lib/lithic/resources/management_operations.rb +1 -1
  72. data/lib/lithic/resources/payments.rb +2 -2
  73. data/lib/lithic/resources/reports/settlement/network_totals.rb +1 -1
  74. data/lib/lithic/resources/tokenizations.rb +1 -1
  75. data/lib/lithic/resources/transactions.rb +1 -1
  76. data/lib/lithic/version.rb +1 -1
  77. data/lib/lithic.rb +3 -1
  78. data/rbi/lib/lithic/internal/type/array_of.rbi +2 -2
  79. data/rbi/lib/lithic/internal/type/{boolean_model.rbi → boolean.rbi} +1 -1
  80. data/rbi/lib/lithic/internal/util.rbi +7 -5
  81. data/rbi/lib/lithic/models/account_holder.rbi +1 -2
  82. data/rbi/lib/lithic/models/account_holder_create_params.rbi +95 -95
  83. data/rbi/lib/lithic/models/card_convert_physical_params.rbi +5 -5
  84. data/rbi/lib/lithic/models/card_reissue_params.rbi +5 -5
  85. data/rbi/lib/lithic/models/card_renew_params.rbi +5 -5
  86. data/rbi/lib/lithic/models/events/event_subscription_resend_params.rbi +29 -0
  87. data/rbi/lib/lithic/models/financial_account.rbi +17 -19
  88. data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +15 -30
  89. data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +18 -18
  90. data/rbi/lib/lithic/models/financial_accounts/statement.rbi +18 -18
  91. data/rbi/lib/lithic/models/kyb.rbi +95 -95
  92. data/rbi/lib/lithic/resources/account_holders.rbi +6 -14
  93. data/rbi/lib/lithic/resources/cards.rbi +15 -12
  94. data/rbi/lib/lithic/resources/events/event_subscriptions.rbi +26 -0
  95. data/rbi/lib/lithic/resources/events.rbi +3 -0
  96. data/rbi/lib/lithic/resources/financial_accounts.rbi +3 -3
  97. data/rbi/lib/lithic/version.rbi +1 -1
  98. data/sig/lithic/internal/type/array_of.rbs +2 -2
  99. data/sig/lithic/internal/type/{boolean_model.rbs → boolean.rbs} +1 -1
  100. data/sig/lithic/internal/util.rbs +5 -5
  101. data/sig/lithic/models/account_holder_create_params.rbs +47 -43
  102. data/sig/lithic/models/card_convert_physical_params.rbs +2 -2
  103. data/sig/lithic/models/card_reissue_params.rbs +2 -2
  104. data/sig/lithic/models/card_renew_params.rbs +2 -2
  105. data/sig/lithic/models/events/event_subscription_resend_params.rbs +22 -0
  106. data/sig/lithic/models/financial_account.rbs +6 -6
  107. data/sig/lithic/models/financial_account_update_status_params.rbs +6 -6
  108. data/sig/lithic/models/financial_accounts/loan_tape.rbs +6 -6
  109. data/sig/lithic/models/financial_accounts/statement.rbs +6 -6
  110. data/sig/lithic/models/kyb.rbs +47 -43
  111. data/sig/lithic/resources/account_holders.rbs +1 -1
  112. data/sig/lithic/resources/events/event_subscriptions.rbs +15 -0
  113. data/sig/lithic/resources/events.rbs +2 -0
  114. data/sig/lithic/resources/financial_accounts.rbs +1 -1
  115. data/sig/lithic/version.rbs +1 -1
  116. metadata +11 -5
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class Events
6
+ class EventSubscriptions
7
+ # Resend an event to an event subscription.
8
+ #
9
+ # @overload resend(event_subscription_token, event_token:, request_options: {})
10
+ #
11
+ # @param event_subscription_token [String]
12
+ # @param event_token [String]
13
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
14
+ #
15
+ # @return [nil]
16
+ #
17
+ # @see Lithic::Models::Events::EventSubscriptionResendParams
18
+ def resend(event_subscription_token, params)
19
+ parsed, options = Lithic::Models::Events::EventSubscriptionResendParams.dump_request(params)
20
+ event_token =
21
+ parsed.delete(:event_token) do
22
+ raise ArgumentError.new("missing required path argument #{_1}")
23
+ end
24
+ @client.request(
25
+ method: :post,
26
+ path: ["v1/events/%1$s/event_subscriptions/%2$s/resend", event_token, event_subscription_token],
27
+ model: NilClass,
28
+ options: options
29
+ )
30
+ end
31
+
32
+ # @api private
33
+ #
34
+ # @param client [Lithic::Client]
35
+ def initialize(client:)
36
+ @client = client
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -136,7 +136,7 @@ module Lithic
136
136
  @client.request(
137
137
  method: :get,
138
138
  path: ["v1/event_subscriptions/%1$s/attempts", event_subscription_token],
139
- query: parsed,
139
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
140
140
  page: Lithic::Internal::CursorPage,
141
141
  model: Lithic::Models::MessageAttempt,
142
142
  options: options
@@ -160,7 +160,7 @@ module Lithic
160
160
  @client.request(
161
161
  method: :post,
162
162
  path: ["v1/event_subscriptions/%1$s/recover", event_subscription_token],
163
- query: parsed,
163
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
164
164
  model: NilClass,
165
165
  options: options
166
166
  )
@@ -187,7 +187,7 @@ module Lithic
187
187
  @client.request(
188
188
  method: :post,
189
189
  path: ["v1/event_subscriptions/%1$s/replay_missing", event_subscription_token],
190
- query: parsed,
190
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
191
191
  model: NilClass,
192
192
  options: options
193
193
  )
@@ -6,6 +6,9 @@ module Lithic
6
6
  # @return [Lithic::Resources::Events::Subscriptions]
7
7
  attr_reader :subscriptions
8
8
 
9
+ # @return [Lithic::Resources::Events::EventSubscriptions]
10
+ attr_reader :event_subscriptions
11
+
9
12
  # Get an event.
10
13
  #
11
14
  # @overload retrieve(event_token, request_options: {})
@@ -46,7 +49,7 @@ module Lithic
46
49
  @client.request(
47
50
  method: :get,
48
51
  path: "v1/events",
49
- query: parsed,
52
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
50
53
  page: Lithic::Internal::CursorPage,
51
54
  model: Lithic::Models::Event,
52
55
  options: options
@@ -74,7 +77,7 @@ module Lithic
74
77
  @client.request(
75
78
  method: :get,
76
79
  path: ["v1/events/%1$s/attempts", event_token],
77
- query: parsed,
80
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
78
81
  page: Lithic::Internal::CursorPage,
79
82
  model: Lithic::Models::MessageAttempt,
80
83
  options: options
@@ -87,6 +90,7 @@ module Lithic
87
90
  def initialize(client:)
88
91
  @client = client
89
92
  @subscriptions = Lithic::Resources::Events::Subscriptions.new(client: client)
93
+ @event_subscriptions = Lithic::Resources::Events::EventSubscriptions.new(client: client)
90
94
  end
91
95
  end
92
96
  end
@@ -75,7 +75,7 @@ module Lithic
75
75
  @client.request(
76
76
  method: :get,
77
77
  path: "v1/external_payments",
78
- query: parsed,
78
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
79
79
  page: Lithic::Internal::CursorPage,
80
80
  model: Lithic::Models::ExternalPayment,
81
81
  options: options
@@ -56,7 +56,7 @@ module Lithic
56
56
  @client.request(
57
57
  method: :get,
58
58
  path: ["v1/financial_accounts/%1$s/financial_transactions", financial_account_token],
59
- query: parsed,
59
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
60
60
  page: Lithic::Internal::SinglePage,
61
61
  model: Lithic::Models::FinancialTransaction,
62
62
  options: options
@@ -49,7 +49,7 @@ module Lithic
49
49
  @client.request(
50
50
  method: :get,
51
51
  path: ["v1/financial_accounts/%1$s/loan_tapes", financial_account_token],
52
- query: parsed,
52
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
53
53
  page: Lithic::Internal::CursorPage,
54
54
  model: Lithic::Models::FinancialAccounts::LoanTape,
55
55
  options: options
@@ -53,7 +53,7 @@ module Lithic
53
53
  @client.request(
54
54
  method: :get,
55
55
  path: ["v1/financial_accounts/%1$s/statements", financial_account_token],
56
- query: parsed,
56
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
57
57
  page: Lithic::Internal::CursorPage,
58
58
  model: Lithic::Models::FinancialAccounts::Statement,
59
59
  options: options
@@ -34,12 +34,12 @@ module Lithic
34
34
  # @see Lithic::Models::FinancialAccountCreateParams
35
35
  def create(params)
36
36
  parsed, options = Lithic::Models::FinancialAccountCreateParams.dump_request(params)
37
- header_params = [:"Idempotency-Key"]
37
+ header_params = {idempotency_key: "idempotency-key"}
38
38
  @client.request(
39
39
  method: :post,
40
40
  path: "v1/financial_accounts",
41
- headers: parsed.slice(*header_params),
42
- body: parsed.except(*header_params),
41
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
42
+ body: parsed.except(*header_params.keys),
43
43
  model: Lithic::Models::FinancialAccount,
44
44
  options: options
45
45
  )
@@ -113,11 +113,11 @@ module Lithic
113
113
 
114
114
  # Update financial account status
115
115
  #
116
- # @overload update_status(financial_account_token, status:, status_change_reason:, request_options: {})
116
+ # @overload update_status(financial_account_token, status:, substatus:, request_options: {})
117
117
  #
118
118
  # @param financial_account_token [String]
119
119
  # @param status [Symbol, Lithic::Models::FinancialAccountUpdateStatusParams::Status]
120
- # @param status_change_reason [Symbol, Lithic::Models::FinancialAccountUpdateStatusParams::StatusChangeReason, nil]
120
+ # @param substatus [Symbol, Lithic::Models::FinancialAccountUpdateStatusParams::Substatus, nil]
121
121
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
122
122
  #
123
123
  # @return [Lithic::Models::FinancialAccount]
@@ -75,7 +75,7 @@ module Lithic
75
75
  @client.request(
76
76
  method: :get,
77
77
  path: "v1/management_operations",
78
- query: parsed,
78
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
79
79
  page: Lithic::Internal::CursorPage,
80
80
  model: Lithic::Models::ManagementOperationTransaction,
81
81
  options: options
@@ -26,7 +26,7 @@ module Lithic
26
26
  @client.request(
27
27
  method: :post,
28
28
  path: "v1/payments",
29
- body: parsed,
29
+ body: parsed.transform_keys(method_: :method),
30
30
  model: Lithic::Models::PaymentCreateResponse,
31
31
  options: options
32
32
  )
@@ -76,7 +76,7 @@ module Lithic
76
76
  @client.request(
77
77
  method: :get,
78
78
  path: "v1/payments",
79
- query: parsed,
79
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
80
80
  page: Lithic::Internal::CursorPage,
81
81
  model: Lithic::Models::Payment,
82
82
  options: options
@@ -49,7 +49,7 @@ module Lithic
49
49
  @client.request(
50
50
  method: :get,
51
51
  path: "v1/reports/settlement/network_totals",
52
- query: parsed,
52
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
53
53
  page: Lithic::Internal::CursorPage,
54
54
  model: Lithic::Models::Reports::Settlement::NetworkTotalListResponse,
55
55
  options: options
@@ -44,7 +44,7 @@ module Lithic
44
44
  @client.request(
45
45
  method: :get,
46
46
  path: "v1/tokenizations",
47
- query: parsed,
47
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
48
48
  page: Lithic::Internal::CursorPage,
49
49
  model: Lithic::Models::Tokenization,
50
50
  options: options
@@ -53,7 +53,7 @@ module Lithic
53
53
  @client.request(
54
54
  method: :get,
55
55
  path: "v1/transactions",
56
- query: parsed,
56
+ query: parsed.transform_keys(begin_: :begin, end_: :end),
57
57
  page: Lithic::Internal::CursorPage,
58
58
  model: Lithic::Models::Transaction,
59
59
  options: options
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0-alpha.5"
4
+ VERSION = "0.1.0.pre.alpha.6"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -39,7 +39,7 @@ require_relative "lithic/version"
39
39
  require_relative "lithic/internal/util"
40
40
  require_relative "lithic/internal/type/converter"
41
41
  require_relative "lithic/internal/type/unknown"
42
- require_relative "lithic/internal/type/boolean_model"
42
+ require_relative "lithic/internal/type/boolean"
43
43
  require_relative "lithic/internal/type/enum"
44
44
  require_relative "lithic/internal/type/union"
45
45
  require_relative "lithic/internal/type/array_of"
@@ -169,6 +169,7 @@ require_relative "lithic/models/event"
169
169
  require_relative "lithic/models/event_list_attempts_params"
170
170
  require_relative "lithic/models/event_list_params"
171
171
  require_relative "lithic/models/event_retrieve_params"
172
+ require_relative "lithic/models/events/event_subscription_resend_params"
172
173
  require_relative "lithic/models/events/subscription_create_params"
173
174
  require_relative "lithic/models/events/subscription_delete_params"
174
175
  require_relative "lithic/models/events/subscription_list_attempts_params"
@@ -343,6 +344,7 @@ require_relative "lithic/resources/credit_products/prime_rates"
343
344
  require_relative "lithic/resources/digital_card_art"
344
345
  require_relative "lithic/resources/disputes"
345
346
  require_relative "lithic/resources/events"
347
+ require_relative "lithic/resources/events/event_subscriptions"
346
348
  require_relative "lithic/resources/events/subscriptions"
347
349
  require_relative "lithic/resources/external_bank_accounts"
348
350
  require_relative "lithic/resources/external_bank_accounts/micro_deposits"
@@ -40,7 +40,7 @@ module Lithic
40
40
  sig(:final) do
41
41
  override
42
42
  .params(value: T.any(
43
- T::Enumerable[Elem],
43
+ T::Array[T.anything],
44
44
  T.anything
45
45
  ),
46
46
  state: Lithic::Internal::Type::Converter::State)
@@ -52,7 +52,7 @@ module Lithic
52
52
  # @api private
53
53
  sig(:final) do
54
54
  override
55
- .params(value: T.any(T::Enumerable[Elem], T.anything))
55
+ .params(value: T.any(T::Array[T.anything], T.anything))
56
56
  .returns(T.any(T::Array[T.anything], T.anything))
57
57
  end
58
58
  def dump(value)
@@ -6,7 +6,7 @@ module Lithic
6
6
  # @api private
7
7
  #
8
8
  # Ruby has no Boolean class; this is something for models to refer to.
9
- class BooleanModel
9
+ class Boolean
10
10
  extend Lithic::Internal::Type::Converter
11
11
 
12
12
  abstract!
@@ -28,22 +28,22 @@ module Lithic
28
28
  end
29
29
 
30
30
  # @api private
31
- sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) }
31
+ sig { params(input: T.any(String, T::Boolean)).returns(T.any(T::Boolean, T.anything)) }
32
32
  def coerce_boolean(input)
33
33
  end
34
34
 
35
35
  # @api private
36
- sig { params(input: T.anything).returns(T.nilable(T::Boolean)) }
36
+ sig { params(input: T.any(String, T::Boolean)).returns(T.nilable(T::Boolean)) }
37
37
  def coerce_boolean!(input)
38
38
  end
39
39
 
40
40
  # @api private
41
- sig { params(input: T.anything).returns(T.any(Integer, T.anything)) }
41
+ sig { params(input: T.any(String, Integer)).returns(T.any(Integer, T.anything)) }
42
42
  def coerce_integer(input)
43
43
  end
44
44
 
45
45
  # @api private
46
- sig { params(input: T.anything).returns(T.any(Float, T.anything)) }
46
+ sig { params(input: T.any(String, Integer, Float)).returns(T.any(Float, T.anything)) }
47
47
  def coerce_float(input)
48
48
  end
49
49
 
@@ -271,7 +271,9 @@ module Lithic
271
271
  # @api private
272
272
  #
273
273
  # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
274
- sig { params(lines: T::Enumerable[String]).returns(Lithic::Internal::Util::ServerSentEvent) }
274
+ sig do
275
+ params(lines: T::Enumerable[String]).returns(T::Enumerable[Lithic::Internal::Util::ServerSentEvent])
276
+ end
275
277
  def decode_sse(lines)
276
278
  end
277
279
  end
@@ -18,8 +18,7 @@ module Lithic
18
18
  sig { params(account_token: String).void }
19
19
  attr_writer :account_token
20
20
 
21
- # Only present when user_type == "BUSINESS". List of all entities with >25%
22
- # ownership in the company.
21
+ # Deprecated. Only present when user_type == "BUSINESS".
23
22
  sig { returns(T.nilable(T::Array[Lithic::Models::AccountHolder::BeneficialOwnerEntity])) }
24
23
  attr_reader :beneficial_owner_entities
25
24
 
@@ -6,23 +6,11 @@ module Lithic
6
6
  extend Lithic::Internal::Type::RequestParameters::Converter
7
7
  include Lithic::Internal::Type::RequestParameters
8
8
 
9
- # List of all entities with >25% ownership in the company. If no entity or
10
- # individual owns >25% of the company, and the largest shareholder is an entity,
11
- # please identify them in this field. See
12
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
13
- # (Section I) for more background. If no business owner is an entity, pass in an
14
- # empty list. However, either this parameter or `beneficial_owner_individuals`
15
- # must be populated. on entities that should be included.
16
- sig { returns(T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity]) }
17
- attr_accessor :beneficial_owner_entities
18
-
19
9
  # List of all direct and indirect individuals with >25% ownership in the company.
20
- # If no entity or individual owns >25% of the company, and the largest shareholder
21
- # is an individual, please identify them in this field. See
10
+ # If no individual owns >25% of the company, please identify the largest
11
+ # shareholder in this field. See
22
12
  # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
23
- # (Section I) for more background on individuals that should be included. If no
24
- # individual is an entity, pass in an empty list. However, either this parameter
25
- # or `beneficial_owner_entities` must be populated.
13
+ # (Section I) for more background on individuals that should be included.
26
14
  sig { returns(T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual]) }
27
15
  attr_accessor :beneficial_owner_individuals
28
16
 
@@ -73,6 +61,18 @@ module Lithic
73
61
  sig { returns(Lithic::Models::AccountHolderCreateParams::Workflow::OrSymbol) }
74
62
  attr_accessor :workflow
75
63
 
64
+ # Deprecated.
65
+ sig { returns(T.nilable(T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity])) }
66
+ attr_reader :beneficial_owner_entities
67
+
68
+ sig do
69
+ params(
70
+ beneficial_owner_entities: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity, Lithic::Internal::AnyHash)]
71
+ )
72
+ .void
73
+ end
74
+ attr_writer :beneficial_owner_entities
75
+
76
76
  # A user provided id that can be used to link an account holder with an external
77
77
  # system
78
78
  sig { returns(T.nilable(String)) }
@@ -160,7 +160,6 @@ module Lithic
160
160
 
161
161
  sig do
162
162
  params(
163
- beneficial_owner_entities: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
164
163
  beneficial_owner_individuals: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual, Lithic::Internal::AnyHash)],
165
164
  business_entity: T.any(Lithic::Models::AccountHolderCreateParams::BusinessEntity, Lithic::Internal::AnyHash),
166
165
  control_person: T.any(Lithic::Models::AccountHolderCreateParams::ControlPerson, Lithic::Internal::AnyHash),
@@ -174,6 +173,7 @@ module Lithic
174
173
  kyc_exemption_type: Lithic::Models::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
175
174
  last_name: String,
176
175
  phone_number: String,
176
+ beneficial_owner_entities: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
177
177
  external_id: String,
178
178
  kyb_passed_timestamp: String,
179
179
  website_url: String,
@@ -184,7 +184,6 @@ module Lithic
184
184
  .returns(T.attached_class)
185
185
  end
186
186
  def self.new(
187
- beneficial_owner_entities:,
188
187
  beneficial_owner_individuals:,
189
188
  business_entity:,
190
189
  control_person:,
@@ -198,6 +197,7 @@ module Lithic
198
197
  kyc_exemption_type:,
199
198
  last_name:,
200
199
  phone_number:,
200
+ beneficial_owner_entities: nil,
201
201
  external_id: nil,
202
202
  kyb_passed_timestamp: nil,
203
203
  website_url: nil,
@@ -211,13 +211,13 @@ module Lithic
211
211
  override
212
212
  .returns(
213
213
  {
214
- beneficial_owner_entities: T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
215
214
  beneficial_owner_individuals: T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual],
216
215
  business_entity: Lithic::Models::AccountHolderCreateParams::BusinessEntity,
217
216
  control_person: Lithic::Models::AccountHolderCreateParams::ControlPerson,
218
217
  nature_of_business: String,
219
218
  tos_timestamp: String,
220
219
  workflow: Lithic::Models::AccountHolderCreateParams::Workflow::OrSymbol,
220
+ beneficial_owner_entities: T::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
221
221
  external_id: String,
222
222
  kyb_passed_timestamp: String,
223
223
  website_url: String,
@@ -237,83 +237,6 @@ module Lithic
237
237
  def to_hash
238
238
  end
239
239
 
240
- class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
241
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
242
- # acceptable; APO/FPO are acceptable.
243
- sig { returns(Lithic::Models::Address) }
244
- attr_reader :address
245
-
246
- sig { params(address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash)).void }
247
- attr_writer :address
248
-
249
- # Government-issued identification number. US Federal Employer Identification
250
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
251
- # without hyphens.
252
- sig { returns(String) }
253
- attr_accessor :government_id
254
-
255
- # Legal (formal) business name.
256
- sig { returns(String) }
257
- attr_accessor :legal_business_name
258
-
259
- # One or more of the business's phone number(s), entered as a list in E.164
260
- # format.
261
- sig { returns(T::Array[String]) }
262
- attr_accessor :phone_numbers
263
-
264
- # Any name that the business operates under that is not its legal business name
265
- # (if applicable).
266
- sig { returns(T.nilable(String)) }
267
- attr_reader :dba_business_name
268
-
269
- sig { params(dba_business_name: String).void }
270
- attr_writer :dba_business_name
271
-
272
- # Parent company name (if applicable).
273
- sig { returns(T.nilable(String)) }
274
- attr_reader :parent_company
275
-
276
- sig { params(parent_company: String).void }
277
- attr_writer :parent_company
278
-
279
- sig do
280
- params(
281
- address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash),
282
- government_id: String,
283
- legal_business_name: String,
284
- phone_numbers: T::Array[String],
285
- dba_business_name: String,
286
- parent_company: String
287
- )
288
- .returns(T.attached_class)
289
- end
290
- def self.new(
291
- address:,
292
- government_id:,
293
- legal_business_name:,
294
- phone_numbers:,
295
- dba_business_name: nil,
296
- parent_company: nil
297
- )
298
- end
299
-
300
- sig do
301
- override
302
- .returns(
303
- {
304
- address: Lithic::Models::Address,
305
- government_id: String,
306
- legal_business_name: String,
307
- phone_numbers: T::Array[String],
308
- dba_business_name: String,
309
- parent_company: String
310
- }
311
- )
312
- end
313
- def to_hash
314
- end
315
- end
316
-
317
240
  class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
318
241
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
319
242
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
@@ -563,6 +486,83 @@ module Lithic
563
486
  end
564
487
  end
565
488
 
489
+ class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
490
+ # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
491
+ # acceptable; APO/FPO are acceptable.
492
+ sig { returns(Lithic::Models::Address) }
493
+ attr_reader :address
494
+
495
+ sig { params(address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash)).void }
496
+ attr_writer :address
497
+
498
+ # Government-issued identification number. US Federal Employer Identification
499
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
500
+ # without hyphens.
501
+ sig { returns(String) }
502
+ attr_accessor :government_id
503
+
504
+ # Legal (formal) business name.
505
+ sig { returns(String) }
506
+ attr_accessor :legal_business_name
507
+
508
+ # One or more of the business's phone number(s), entered as a list in E.164
509
+ # format.
510
+ sig { returns(T::Array[String]) }
511
+ attr_accessor :phone_numbers
512
+
513
+ # Any name that the business operates under that is not its legal business name
514
+ # (if applicable).
515
+ sig { returns(T.nilable(String)) }
516
+ attr_reader :dba_business_name
517
+
518
+ sig { params(dba_business_name: String).void }
519
+ attr_writer :dba_business_name
520
+
521
+ # Parent company name (if applicable).
522
+ sig { returns(T.nilable(String)) }
523
+ attr_reader :parent_company
524
+
525
+ sig { params(parent_company: String).void }
526
+ attr_writer :parent_company
527
+
528
+ sig do
529
+ params(
530
+ address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash),
531
+ government_id: String,
532
+ legal_business_name: String,
533
+ phone_numbers: T::Array[String],
534
+ dba_business_name: String,
535
+ parent_company: String
536
+ )
537
+ .returns(T.attached_class)
538
+ end
539
+ def self.new(
540
+ address:,
541
+ government_id:,
542
+ legal_business_name:,
543
+ phone_numbers:,
544
+ dba_business_name: nil,
545
+ parent_company: nil
546
+ )
547
+ end
548
+
549
+ sig do
550
+ override
551
+ .returns(
552
+ {
553
+ address: Lithic::Models::Address,
554
+ government_id: String,
555
+ legal_business_name: String,
556
+ phone_numbers: T::Array[String],
557
+ dba_business_name: String,
558
+ parent_company: String
559
+ }
560
+ )
561
+ end
562
+ def to_hash
563
+ end
564
+ end
565
+
566
566
  class Individual < Lithic::Internal::Type::BaseModel
567
567
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
568
568
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
@@ -29,8 +29,8 @@ module Lithic
29
29
  sig { params(product_id: String).void }
30
30
  attr_writer :product_id
31
31
 
32
- # Shipping method for the card. Use of options besides `STANDARD` require
33
- # additional permissions.
32
+ # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
33
+ # options besides `STANDARD` require additional permissions.
34
34
  #
35
35
  # - `STANDARD` - USPS regular mail or similar international option, with no
36
36
  # tracking
@@ -81,8 +81,8 @@ module Lithic
81
81
  def to_hash
82
82
  end
83
83
 
84
- # Shipping method for the card. Use of options besides `STANDARD` require
85
- # additional permissions.
84
+ # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
85
+ # options besides `STANDARD` require additional permissions.
86
86
  #
87
87
  # - `STANDARD` - USPS regular mail or similar international option, with no
88
88
  # tracking
@@ -101,7 +101,7 @@ module Lithic
101
101
  T.type_alias { T.any(Symbol, String, Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol) }
102
102
 
103
103
  SHIPPING_METHOD_2_DAY =
104
- T.let(:"2-DAY", Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol)
104
+ T.let(:"2_DAY", Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol)
105
105
  EXPEDITED = T.let(:EXPEDITED, Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol)
106
106
  EXPRESS = T.let(:EXPRESS, Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol)
107
107
  PRIORITY = T.let(:PRIORITY, Lithic::Models::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol)