lithic 0.1.0.pre.alpha.39 → 0.1.0.pre.alpha.41

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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +8 -0
  5. data/lib/lithic/internal/transport/base_client.rb +1 -1
  6. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -9
  7. data/lib/lithic/internal/type/array_of.rb +1 -0
  8. data/lib/lithic/internal/type/base_model.rb +3 -1
  9. data/lib/lithic/internal/type/converter.rb +27 -0
  10. data/lib/lithic/internal/type/hash_of.rb +1 -0
  11. data/lib/lithic/internal/type/union.rb +9 -7
  12. data/lib/lithic/internal/util.rb +1 -1
  13. data/lib/lithic/models/account.rb +88 -1
  14. data/lib/lithic/models/account_activity_list_params.rb +156 -0
  15. data/lib/lithic/models/account_activity_list_response.rb +1435 -0
  16. data/lib/lithic/models/account_activity_retrieve_transaction_params.rb +14 -0
  17. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1451 -0
  18. data/lib/lithic/models/account_holder.rb +16 -19
  19. data/lib/lithic/models/account_holder_create_params.rb +41 -47
  20. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -3
  21. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +25 -20
  22. data/lib/lithic/models/account_holder_update_params.rb +2 -6
  23. data/lib/lithic/models/account_holder_update_response.rb +25 -20
  24. data/lib/lithic/models/account_update_params.rb +86 -1
  25. data/lib/lithic/models/aggregate_balance.rb +1 -0
  26. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -0
  27. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +5 -1
  28. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +12 -22
  29. data/lib/lithic/models/auth_rules/v2_list_params.rb +1 -0
  30. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -25
  31. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +226 -16
  32. data/lib/lithic/models/balance.rb +1 -0
  33. data/lib/lithic/models/balance_list_params.rb +1 -0
  34. data/lib/lithic/models/book_transfer_create_params.rb +34 -6
  35. data/lib/lithic/models/book_transfer_response.rb +124 -28
  36. data/lib/lithic/models/card_create_params.rb +90 -1
  37. data/lib/lithic/models/card_program.rb +10 -1
  38. data/lib/lithic/models/card_update_params.rb +98 -1
  39. data/lib/lithic/models/cards/balance_list_response.rb +1 -0
  40. data/lib/lithic/models/document.rb +1 -3
  41. data/lib/lithic/models/events/subscription_create_params.rb +1 -3
  42. data/lib/lithic/models/events/subscription_update_params.rb +1 -3
  43. data/lib/lithic/models/external_bank_account_list_params.rb +2 -6
  44. data/lib/lithic/models/external_payment.rb +89 -48
  45. data/lib/lithic/models/external_resource.rb +34 -0
  46. data/lib/lithic/models/external_resource_type.rb +18 -0
  47. data/lib/lithic/models/financial_account.rb +1 -0
  48. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  49. data/lib/lithic/models/financial_accounts/balance_list_response.rb +1 -0
  50. data/lib/lithic/models/financial_accounts/loan_tape.rb +5 -18
  51. data/lib/lithic/models/financial_accounts/statement.rb +3 -10
  52. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -7
  53. data/lib/lithic/models/financial_transaction.rb +2 -0
  54. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  55. data/lib/lithic/models/kyb.rb +2 -2
  56. data/lib/lithic/models/management_operation_create_params.rb +30 -1
  57. data/lib/lithic/models/management_operation_transaction.rb +100 -52
  58. data/lib/lithic/models/network_program.rb +41 -0
  59. data/lib/lithic/models/network_program_list_params.rb +43 -0
  60. data/lib/lithic/models/network_program_retrieve_params.rb +14 -0
  61. data/lib/lithic/models/non_pci_card.rb +88 -1
  62. data/lib/lithic/models/payment.rb +60 -1
  63. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  64. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  65. data/lib/lithic/models/settlement_detail.rb +1 -0
  66. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +145 -12
  67. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -4
  68. data/lib/lithic/models/tokenization.rb +1 -1
  69. data/lib/lithic/models/transaction.rb +31 -20
  70. data/lib/lithic/models/transactions/events/enhanced_data.rb +3 -11
  71. data/lib/lithic/models/transfer.rb +2 -0
  72. data/lib/lithic/models/wire_party_details.rb +40 -0
  73. data/lib/lithic/models.rb +16 -0
  74. data/lib/lithic/resources/account_activity.rb +80 -0
  75. data/lib/lithic/resources/account_holders.rb +9 -9
  76. data/lib/lithic/resources/accounts.rb +5 -1
  77. data/lib/lithic/resources/book_transfers.rb +7 -3
  78. data/lib/lithic/resources/cards.rb +12 -2
  79. data/lib/lithic/resources/management_operations.rb +13 -1
  80. data/lib/lithic/resources/network_programs.rb +64 -0
  81. data/lib/lithic/resources/reports/settlement.rb +1 -1
  82. data/lib/lithic/resources/tokenizations.rb +2 -2
  83. data/lib/lithic/version.rb +1 -1
  84. data/lib/lithic.rb +13 -2
  85. data/rbi/lithic/client.rbi +6 -0
  86. data/rbi/lithic/errors.rbi +2 -2
  87. data/rbi/lithic/internal/transport/base_client.rbi +1 -1
  88. data/rbi/lithic/internal/type/converter.rbi +46 -0
  89. data/rbi/lithic/internal/type/union.rbi +7 -2
  90. data/rbi/lithic/models/account.rbi +131 -0
  91. data/rbi/lithic/models/account_activity_list_params.rbi +359 -0
  92. data/rbi/lithic/models/account_activity_list_response.rbi +3367 -0
  93. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +30 -0
  94. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +3369 -0
  95. data/rbi/lithic/models/account_holder.rbi +21 -23
  96. data/rbi/lithic/models/account_holder_create_params.rbi +87 -65
  97. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +36 -30
  98. data/rbi/lithic/models/account_holder_update_response.rbi +36 -30
  99. data/rbi/lithic/models/account_update_params.rbi +159 -0
  100. data/rbi/lithic/models/aggregate_balance.rbi +5 -0
  101. data/rbi/lithic/models/aggregate_balance_list_params.rbi +5 -0
  102. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +20 -0
  103. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +26 -15
  104. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +2 -0
  105. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +18 -25
  106. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +527 -31
  107. data/rbi/lithic/models/balance.rbi +2 -0
  108. data/rbi/lithic/models/balance_list_params.rbi +5 -0
  109. data/rbi/lithic/models/book_transfer_create_params.rbi +75 -5
  110. data/rbi/lithic/models/book_transfer_response.rbi +320 -38
  111. data/rbi/lithic/models/card_create_params.rbi +190 -0
  112. data/rbi/lithic/models/card_program.rbi +13 -0
  113. data/rbi/lithic/models/card_update_params.rbi +168 -0
  114. data/rbi/lithic/models/cards/balance_list_response.rbi +5 -0
  115. data/rbi/lithic/models/external_payment.rbi +147 -60
  116. data/rbi/lithic/models/external_resource.rbi +57 -0
  117. data/rbi/lithic/models/external_resource_type.rbi +26 -0
  118. data/rbi/lithic/models/financial_account.rbi +5 -0
  119. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  120. data/rbi/lithic/models/financial_accounts/balance_list_response.rbi +5 -0
  121. data/rbi/lithic/models/financial_transaction.rbi +1 -0
  122. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  123. data/rbi/lithic/models/kyb.rbi +2 -2
  124. data/rbi/lithic/models/management_operation_create_params.rbi +59 -0
  125. data/rbi/lithic/models/management_operation_transaction.rbi +230 -84
  126. data/rbi/lithic/models/network_program.rbi +61 -0
  127. data/rbi/lithic/models/network_program_list_params.rbi +72 -0
  128. data/rbi/lithic/models/network_program_retrieve_params.rbi +27 -0
  129. data/rbi/lithic/models/non_pci_card.rbi +133 -3
  130. data/rbi/lithic/models/payment.rbi +103 -3
  131. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  132. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +2 -2
  133. data/rbi/lithic/models/settlement_detail.rbi +2 -0
  134. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +222 -19
  135. data/rbi/lithic/models/transaction.rbi +23 -31
  136. data/rbi/lithic/models/transfer.rbi +1 -0
  137. data/rbi/lithic/models/wire_party_details.rbi +61 -0
  138. data/rbi/lithic/models.rbi +17 -0
  139. data/rbi/lithic/resources/account_activity.rbi +80 -0
  140. data/rbi/lithic/resources/account_holders.rbi +28 -29
  141. data/rbi/lithic/resources/accounts.rbi +32 -0
  142. data/rbi/lithic/resources/book_transfers.rbi +9 -2
  143. data/rbi/lithic/resources/cards.rbi +70 -0
  144. data/rbi/lithic/resources/management_operations.rbi +4 -0
  145. data/rbi/lithic/resources/network_programs.rbi +48 -0
  146. data/rbi/lithic/resources/reports/settlement.rbi +1 -1
  147. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  148. data/sig/lithic/client.rbs +4 -0
  149. data/sig/lithic/internal/transport/base_client.rbs +1 -1
  150. data/sig/lithic/internal/type/converter.rbs +17 -0
  151. data/sig/lithic/internal/type/union.rbs +2 -2
  152. data/sig/lithic/models/account.rbs +41 -0
  153. data/sig/lithic/models/account_activity_list_params.rbs +173 -0
  154. data/sig/lithic/models/account_activity_list_response.rbs +1353 -0
  155. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +15 -0
  156. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +1353 -0
  157. data/sig/lithic/models/account_holder_create_params.rbs +33 -19
  158. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +10 -3
  159. data/sig/lithic/models/account_holder_update_response.rbs +10 -3
  160. data/sig/lithic/models/account_update_params.rbs +41 -0
  161. data/sig/lithic/models/aggregate_balance.rbs +2 -1
  162. data/sig/lithic/models/aggregate_balance_list_params.rbs +2 -1
  163. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +8 -0
  164. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +8 -0
  165. data/sig/lithic/models/auth_rules/v2_list_params.rbs +2 -1
  166. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -14
  167. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +212 -7
  168. data/sig/lithic/models/balance.rbs +2 -1
  169. data/sig/lithic/models/balance_list_params.rbs +2 -1
  170. data/sig/lithic/models/book_transfer_create_params.rbs +30 -1
  171. data/sig/lithic/models/book_transfer_response.rbs +134 -15
  172. data/sig/lithic/models/card_create_params.rbs +47 -0
  173. data/sig/lithic/models/card_program.rbs +7 -0
  174. data/sig/lithic/models/card_update_params.rbs +55 -1
  175. data/sig/lithic/models/cards/balance_list_response.rbs +2 -1
  176. data/sig/lithic/models/external_payment.rbs +91 -40
  177. data/sig/lithic/models/external_resource.rbs +32 -0
  178. data/sig/lithic/models/external_resource_type.rbs +16 -0
  179. data/sig/lithic/models/financial_account.rbs +2 -0
  180. data/sig/lithic/models/financial_account_list_params.rbs +2 -1
  181. data/sig/lithic/models/financial_accounts/balance_list_response.rbs +2 -1
  182. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  183. data/sig/lithic/models/management_operation_create_params.rbs +20 -0
  184. data/sig/lithic/models/management_operation_transaction.rbs +98 -42
  185. data/sig/lithic/models/network_program.rbs +35 -0
  186. data/sig/lithic/models/network_program_list_params.rbs +38 -0
  187. data/sig/lithic/models/network_program_retrieve_params.rbs +15 -0
  188. data/sig/lithic/models/non_pci_card.rbs +55 -3
  189. data/sig/lithic/models/payment.rbs +61 -3
  190. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  191. data/sig/lithic/models/settlement_detail.rbs +2 -0
  192. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +90 -3
  193. data/sig/lithic/models/transaction.rbs +2 -6
  194. data/sig/lithic/models/wire_party_details.rbs +35 -0
  195. data/sig/lithic/models.rbs +16 -0
  196. data/sig/lithic/resources/account_activity.rbs +27 -0
  197. data/sig/lithic/resources/account_holders.rbs +3 -3
  198. data/sig/lithic/resources/accounts.rbs +2 -0
  199. data/sig/lithic/resources/book_transfers.rbs +2 -0
  200. data/sig/lithic/resources/cards.rbs +5 -0
  201. data/sig/lithic/resources/management_operations.rbs +1 -0
  202. data/sig/lithic/resources/network_programs.rbs +19 -0
  203. data/sig/lithic/resources/tokenizations.rbs +1 -1
  204. metadata +38 -5
  205. data/lib/lithic/models/tokenization_retrieve_response.rb +0 -16
  206. data/rbi/lithic/models/tokenization_retrieve_response.rbi +0 -31
  207. data/sig/lithic/models/tokenization_retrieve_response.rbs +0 -15
@@ -13,15 +13,8 @@ module Lithic
13
13
  # that the calling API key manages.
14
14
  sig do
15
15
  params(
16
- beneficial_owner_individuals:
17
- T::Array[
18
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
19
- ],
20
16
  business_entity:
21
17
  Lithic::AccountHolderCreateParams::BusinessEntity::OrHash,
22
- control_person:
23
- Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
24
- nature_of_business: String,
25
18
  tos_timestamp: String,
26
19
  workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol,
27
20
  individual: Lithic::AccountHolderCreateParams::Individual::OrHash,
@@ -32,6 +25,13 @@ module Lithic
32
25
  Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
33
26
  last_name: String,
34
27
  phone_number: String,
28
+ beneficial_owner_individuals:
29
+ T::Array[
30
+ Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
31
+ ],
32
+ control_person:
33
+ Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
34
+ nature_of_business: String,
35
35
  beneficial_owner_entities:
36
36
  T::Array[
37
37
  Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash
@@ -45,28 +45,8 @@ module Lithic
45
45
  ).returns(Lithic::Models::AccountHolderCreateResponse)
46
46
  end
47
47
  def create(
48
- # You must submit a list of all direct and indirect individuals with 25% or more
49
- # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
50
- # no individual owns 25% of the company you do not need to send beneficial owner
51
- # information. See
52
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
53
- # (Section I) for more background on individuals that should be included.
54
- beneficial_owner_individuals:,
55
- # Information for business for which the account is being opened and KYB is being
56
- # run.
48
+ # Information for business for which the account is being opened.
57
49
  business_entity:,
58
- # An individual with significant responsibility for managing the legal entity
59
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
60
- # Officer, Managing Member, General Partner, President, Vice President, or
61
- # Treasurer). This can be an executive, or someone who will have program-wide
62
- # access to the cards that Lithic will provide. In some cases, this individual
63
- # could also be a beneficial owner listed above. See
64
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
65
- # (Section II) for more background.
66
- control_person:,
67
- # Short description of the company's line of business (i.e., what does the company
68
- # do?).
69
- nature_of_business:,
70
50
  # An RFC 3339 timestamp indicating when the account holder accepted the applicable
71
51
  # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
72
52
  # implementation with Lithic.
@@ -89,12 +69,31 @@ module Lithic
89
69
  last_name:,
90
70
  # The KYC Exempt user's phone number, entered in E.164 format.
91
71
  phone_number:,
72
+ # You can submit a list of all direct and indirect individuals with 25% or more
73
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
74
+ # no individual owns 25% of the company you do not need to send beneficial owner
75
+ # information. See
76
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
77
+ # (Section I) for more background on individuals that should be included.
78
+ beneficial_owner_individuals: nil,
79
+ # An individual with significant responsibility for managing the legal entity
80
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
81
+ # Officer, Managing Member, General Partner, President, Vice President, or
82
+ # Treasurer). This can be an executive, or someone who will have program-wide
83
+ # access to the cards that Lithic will provide. In some cases, this individual
84
+ # could also be a beneficial owner listed above. See
85
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
86
+ # (Section II) for more background.
87
+ control_person: nil,
88
+ # Short description of the company's line of business (i.e., what does the company
89
+ # do?).
90
+ nature_of_business: nil,
92
91
  # Deprecated.
93
92
  beneficial_owner_entities: nil,
94
93
  # A user provided id that can be used to link an account holder with an external
95
94
  # system
96
95
  external_id: nil,
97
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
96
+ # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
98
97
  # business with a pass result.
99
98
  #
100
99
  # This field is required only if workflow type is `KYB_BYO`.
@@ -23,10 +23,12 @@ module Lithic
23
23
  sig do
24
24
  params(
25
25
  account_token: String,
26
+ comment: String,
26
27
  daily_spend_limit: Integer,
27
28
  lifetime_spend_limit: Integer,
28
29
  monthly_spend_limit: Integer,
29
30
  state: Lithic::AccountUpdateParams::State::OrSymbol,
31
+ substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol,
30
32
  verification_address:
31
33
  Lithic::AccountUpdateParams::VerificationAddress::OrHash,
32
34
  request_options: Lithic::RequestOptions::OrHash
@@ -35,6 +37,8 @@ module Lithic
35
37
  def update(
36
38
  # Globally unique identifier for account.
37
39
  account_token,
40
+ # Additional context or information related to the account.
41
+ comment: nil,
38
42
  # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a
39
43
  # $1,000 limit). By default the daily spend limit is set to $1,250.
40
44
  daily_spend_limit: nil,
@@ -51,6 +55,34 @@ module Lithic
51
55
  monthly_spend_limit: nil,
52
56
  # Account states.
53
57
  state: nil,
58
+ # Account state substatus values:
59
+ #
60
+ # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used
61
+ # with stolen or fabricated identity information, encompassing both true
62
+ # identity theft and synthetic identities.
63
+ # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as
64
+ # unauthorized access or fraudulent transactions, necessitating further
65
+ # investigation.
66
+ # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the
67
+ # legitimate account holder. Examples include disputing valid transactions
68
+ # without cause, falsely claiming non-receipt of goods, or engaging in
69
+ # intentional bust-out schemes to exploit account services.
70
+ # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure
71
+ # of the account for personal reasons. This encompasses situations such as
72
+ # bankruptcy, other financial considerations, or the account holder's death.
73
+ # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to
74
+ # business strategy, risk management, inactivity, product changes, regulatory
75
+ # concerns, or violations of terms and conditions.
76
+ # - `NOT_ACTIVE` - The account has not had any transactions or payment activity
77
+ # within a specified period. This status applies to accounts that are paused or
78
+ # closed due to inactivity.
79
+ # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal
80
+ # review. In future implementations, this status may prevent clients from
81
+ # activating the account via APIs until the review is completed.
82
+ # - `OTHER` - The reason for the account's current status does not fall into any
83
+ # of the above categories. A comment should be provided to specify the
84
+ # particular reason.
85
+ substatus: nil,
54
86
  # Address used during Address Verification Service (AVS) checks during
55
87
  # transactions if enabled via Auth Rules. This field is deprecated as AVS checks
56
88
  # are no longer supported by Auth Rules. The field will be removed from the schema
@@ -14,12 +14,15 @@ module Lithic
14
14
  to_financial_account_token: String,
15
15
  type: Lithic::BookTransferCreateParams::Type::OrSymbol,
16
16
  token: String,
17
+ external_id: String,
17
18
  memo: String,
19
+ on_closed_account:
20
+ Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol,
18
21
  request_options: Lithic::RequestOptions::OrHash
19
22
  ).returns(Lithic::BookTransferResponse)
20
23
  end
21
24
  def create(
22
- # Amount to be transferred in the currencys smallest unit (e.g., cents for USD).
25
+ # Amount to be transferred in the currency's smallest unit (e.g., cents for USD).
23
26
  # This should always be a positive value.
24
27
  amount:,
25
28
  # Category of the book transfer
@@ -32,13 +35,17 @@ module Lithic
32
35
  # Globally unique identifier for the financial account or card that will receive
33
36
  # the funds. Accepted type dependent on the program's use case.
34
37
  to_financial_account_token:,
35
- # Type of book_transfer
38
+ # Type of the book transfer
36
39
  type:,
37
40
  # Customer-provided token that will serve as an idempotency token. This token will
38
41
  # become the transaction token.
39
42
  token: nil,
43
+ # External ID defined by the customer
44
+ external_id: nil,
40
45
  # Optional descriptor for the transfer.
41
46
  memo: nil,
47
+ # What to do if the financial account is closed when posting an operation
48
+ on_closed_account: nil,
42
49
  request_options: {}
43
50
  )
44
51
  end
@@ -27,7 +27,10 @@ module Lithic
27
27
  pin: String,
28
28
  product_id: String,
29
29
  replacement_account_token: String,
30
+ replacement_comment: String,
30
31
  replacement_for: String,
32
+ replacement_substatus:
33
+ Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol,
31
34
  shipping_address: Lithic::ShippingAddress::OrHash,
32
35
  shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol,
33
36
  spend_limit: Integer,
@@ -94,10 +97,41 @@ module Lithic
94
97
  # If `replacement_for` is specified and this field is omitted, the replacement
95
98
  # card's account will be inferred from the card being replaced.
96
99
  replacement_account_token: nil,
100
+ # Additional context or information related to the card that this card will
101
+ # replace.
102
+ replacement_comment: nil,
97
103
  # Globally unique identifier for the card that this card will replace. If the card
98
104
  # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is
99
105
  # `VIRTUAL` it will be replaced by a `VIRTUAL` card.
100
106
  replacement_for: nil,
107
+ # Card state substatus values for the card that this card will replace:
108
+ #
109
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
110
+ # being lost or never received by the cardholder.
111
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
112
+ # unauthorized access. This may involve physical card theft, cloning, or online
113
+ # data breaches.
114
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
115
+ # failures or a demagnetized magnetic stripe.
116
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
117
+ # reasons unrelated to fraud or damage, such as switching to a different product
118
+ # or closing the account.
119
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
120
+ # or damage, such as account inactivity, product or policy changes, or
121
+ # technology upgrades.
122
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
123
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
124
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
125
+ # activities that require review. This can involve prompting the cardholder to
126
+ # confirm legitimate use or report confirmed fraud.
127
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
128
+ # review.
129
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
130
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
131
+ # returned.
132
+ # - `OTHER` - The reason for the status does not fall into any of the above
133
+ # categories. A comment should be provided to specify the reason.
134
+ replacement_substatus: nil,
101
135
  shipping_address: nil,
102
136
  # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
103
137
  # options besides `STANDARD` require additional permissions.
@@ -162,18 +196,23 @@ module Lithic
162
196
  sig do
163
197
  params(
164
198
  card_token: String,
199
+ comment: String,
165
200
  digital_card_art_token: String,
166
201
  memo: String,
202
+ network_program_token: String,
167
203
  pin: String,
168
204
  pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol,
169
205
  spend_limit: Integer,
170
206
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
171
207
  state: Lithic::CardUpdateParams::State::OrSymbol,
208
+ substatus: Lithic::CardUpdateParams::Substatus::OrSymbol,
172
209
  request_options: Lithic::RequestOptions::OrHash
173
210
  ).returns(Lithic::Card)
174
211
  end
175
212
  def update(
176
213
  card_token,
214
+ # Additional context or information related to the card.
215
+ comment: nil,
177
216
  # Specifies the digital card art to be displayed in the user’s digital wallet
178
217
  # after tokenization. This artwork must be approved by Mastercard and configured
179
218
  # by Lithic to use. See
@@ -181,6 +220,9 @@ module Lithic
181
220
  digital_card_art_token: nil,
182
221
  # Friendly name to identify the card.
183
222
  memo: nil,
223
+ # Globally unique identifier for the card's network program. Currently applicable
224
+ # to Visa cards participating in Account Level Management only.
225
+ network_program_token: nil,
184
226
  # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and
185
227
  # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See
186
228
  # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block).
@@ -216,6 +258,34 @@ module Lithic
216
258
  # - `PAUSED` - Card will decline authorizations, but can be resumed at a later
217
259
  # time.
218
260
  state: nil,
261
+ # Card state substatus values:
262
+ #
263
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
264
+ # being lost or never received by the cardholder.
265
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
266
+ # unauthorized access. This may involve physical card theft, cloning, or online
267
+ # data breaches.
268
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
269
+ # failures or a demagnetized magnetic stripe.
270
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
271
+ # reasons unrelated to fraud or damage, such as switching to a different product
272
+ # or closing the account.
273
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
274
+ # or damage, such as account inactivity, product or policy changes, or
275
+ # technology upgrades.
276
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
277
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
278
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
279
+ # activities that require review. This can involve prompting the cardholder to
280
+ # confirm legitimate use or report confirmed fraud.
281
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
282
+ # review.
283
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
284
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
285
+ # returned.
286
+ # - `OTHER` - The reason for the status does not fall into any of the above
287
+ # categories. A comment should be provided to specify the reason.
288
+ substatus: nil,
219
289
  request_options: {}
220
290
  )
221
291
  end
@@ -16,6 +16,8 @@ module Lithic
16
16
  financial_account_token: String,
17
17
  token: String,
18
18
  memo: String,
19
+ on_closed_account:
20
+ Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol,
19
21
  subtype: String,
20
22
  user_defined_id: String,
21
23
  request_options: Lithic::RequestOptions::OrHash
@@ -30,6 +32,8 @@ module Lithic
30
32
  financial_account_token:,
31
33
  token: nil,
32
34
  memo: nil,
35
+ # What to do if the financial account is closed when posting an operation
36
+ on_closed_account: nil,
33
37
  subtype: nil,
34
38
  user_defined_id: nil,
35
39
  request_options: {}
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class NetworkPrograms
6
+ # Get network program.
7
+ sig do
8
+ params(
9
+ network_program_token: String,
10
+ request_options: Lithic::RequestOptions::OrHash
11
+ ).returns(Lithic::NetworkProgram)
12
+ end
13
+ def retrieve(
14
+ # Globally unique identifier for the network program.
15
+ network_program_token,
16
+ request_options: {}
17
+ )
18
+ end
19
+
20
+ # List network programs.
21
+ sig do
22
+ params(
23
+ begin_: Time,
24
+ end_: Time,
25
+ page_size: Integer,
26
+ request_options: Lithic::RequestOptions::OrHash
27
+ ).returns(Lithic::Internal::SinglePage[Lithic::NetworkProgram])
28
+ end
29
+ def list(
30
+ # Date string in RFC 3339 format. Only entries created after the specified time
31
+ # will be included. UTC time zone.
32
+ begin_: nil,
33
+ # Date string in RFC 3339 format. Only entries created before the specified time
34
+ # will be included. UTC time zone.
35
+ end_: nil,
36
+ # Page size (for pagination).
37
+ page_size: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
44
+ def self.new(client:)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -23,7 +23,7 @@ module Lithic
23
23
  # A cursor representing an item's token before which a page of results should end.
24
24
  # Used to retrieve the previous page of results before this item.
25
25
  ending_before: nil,
26
- # Page size (for pagination).
26
+ # Number of records per page.
27
27
  page_size: nil,
28
28
  # A cursor representing an item's token after which a page of results should
29
29
  # begin. Used to retrieve the next page of results after this item.
@@ -8,7 +8,7 @@ module Lithic
8
8
  params(
9
9
  tokenization_token: String,
10
10
  request_options: Lithic::RequestOptions::OrHash
11
- ).returns(Lithic::Models::TokenizationRetrieveResponse)
11
+ ).returns(Lithic::Tokenization)
12
12
  end
13
13
  def retrieve(
14
14
  # Tokenization token
@@ -69,6 +69,10 @@ module Lithic
69
69
 
70
70
  attr_reader fraud: Lithic::Resources::Fraud
71
71
 
72
+ attr_reader network_programs: Lithic::Resources::NetworkPrograms
73
+
74
+ attr_reader account_activity: Lithic::Resources::AccountActivity
75
+
72
76
  def api_status: (
73
77
  ?request_options: Lithic::request_opts
74
78
  ) -> Lithic::APIStatus
@@ -99,7 +99,7 @@ module Lithic
99
99
  retry_count: Integer
100
100
  ) -> Float
101
101
 
102
- private def send_request: (
102
+ def send_request: (
103
103
  Lithic::Internal::Transport::BaseClient::request_input request,
104
104
  redirect_count: Integer,
105
105
  retry_count: Integer,
@@ -39,6 +39,23 @@ module Lithic
39
39
  | Lithic::Internal::Type::Converter::input spec
40
40
  ) -> (^-> top)
41
41
 
42
+ def self.meta_info: (
43
+ {
44
+ const: (nil | bool | Integer | Float | Symbol)?,
45
+ enum: ^-> Lithic::Internal::Type::Converter::input?,
46
+ union: ^-> Lithic::Internal::Type::Converter::input?
47
+ }
48
+ | ^-> Lithic::Internal::Type::Converter::input
49
+ | Lithic::Internal::Type::Converter::input type_info,
50
+ {
51
+ const: (nil | bool | Integer | Float | Symbol)?,
52
+ enum: ^-> Lithic::Internal::Type::Converter::input?,
53
+ union: ^-> Lithic::Internal::Type::Converter::input?
54
+ }
55
+ | ^-> Lithic::Internal::Type::Converter::input
56
+ | Lithic::Internal::Type::Converter::input spec
57
+ ) -> ::Hash[Symbol, top]
58
+
42
59
  def self.new_coerce_state: (
43
60
  ?translate_names: bool
44
61
  ) -> Lithic::Internal::Type::Converter::coerce_state
@@ -5,9 +5,9 @@ module Lithic
5
5
  include Lithic::Internal::Type::Converter
6
6
  include Lithic::Internal::Util::SorbetRuntimeSupport
7
7
 
8
- private def self.known_variants: -> ::Array[[Symbol?, (^-> Lithic::Internal::Type::Converter::input)]]
8
+ private def self.known_variants: -> ::Array[[Symbol?, (^-> Lithic::Internal::Type::Converter::input), ::Hash[Symbol, top]]]
9
9
 
10
- def self.derefed_variants: -> ::Array[[Symbol?, top]]
10
+ def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]]
11
11
 
12
12
  def self.variants: -> ::Array[top]
13
13
 
@@ -9,6 +9,8 @@ module Lithic
9
9
  account_holder: Lithic::Account::AccountHolder,
10
10
  auth_rule_tokens: ::Array[String],
11
11
  cardholder_currency: String,
12
+ comment: String,
13
+ substatus: Lithic::Models::Account::substatus,
12
14
  verification_address: Lithic::Account::VerificationAddress
13
15
  }
14
16
 
@@ -35,6 +37,16 @@ module Lithic
35
37
 
36
38
  def cardholder_currency=: (String) -> String
37
39
 
40
+ attr_reader comment: String?
41
+
42
+ def comment=: (String) -> String
43
+
44
+ attr_reader substatus: Lithic::Models::Account::substatus?
45
+
46
+ def substatus=: (
47
+ Lithic::Models::Account::substatus
48
+ ) -> Lithic::Models::Account::substatus
49
+
38
50
  attr_reader verification_address: Lithic::Account::VerificationAddress?
39
51
 
40
52
  def verification_address=: (
@@ -49,6 +61,8 @@ module Lithic
49
61
  ?account_holder: Lithic::Account::AccountHolder,
50
62
  ?auth_rule_tokens: ::Array[String],
51
63
  ?cardholder_currency: String,
64
+ ?comment: String,
65
+ ?substatus: Lithic::Models::Account::substatus,
52
66
  ?verification_address: Lithic::Account::VerificationAddress
53
67
  ) -> void
54
68
 
@@ -60,6 +74,8 @@ module Lithic
60
74
  account_holder: Lithic::Account::AccountHolder,
61
75
  auth_rule_tokens: ::Array[String],
62
76
  cardholder_currency: String,
77
+ comment: String,
78
+ substatus: Lithic::Models::Account::substatus,
63
79
  verification_address: Lithic::Account::VerificationAddress
64
80
  }
65
81
 
@@ -125,6 +141,31 @@ module Lithic
125
141
  }
126
142
  end
127
143
 
144
+ type substatus =
145
+ :FRAUD_IDENTIFIED
146
+ | :SUSPICIOUS_ACTIVITY
147
+ | :RISK_VIOLATION
148
+ | :END_USER_REQUEST
149
+ | :ISSUER_REQUEST
150
+ | :NOT_ACTIVE
151
+ | :INTERNAL_REVIEW
152
+ | :OTHER
153
+
154
+ module Substatus
155
+ extend Lithic::Internal::Type::Enum
156
+
157
+ FRAUD_IDENTIFIED: :FRAUD_IDENTIFIED
158
+ SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY
159
+ RISK_VIOLATION: :RISK_VIOLATION
160
+ END_USER_REQUEST: :END_USER_REQUEST
161
+ ISSUER_REQUEST: :ISSUER_REQUEST
162
+ NOT_ACTIVE: :NOT_ACTIVE
163
+ INTERNAL_REVIEW: :INTERNAL_REVIEW
164
+ OTHER: :OTHER
165
+
166
+ def self?.values: -> ::Array[Lithic::Models::Account::substatus]
167
+ end
168
+
128
169
  type verification_address =
129
170
  {
130
171
  :address1 => String,