lithic 0.1.0.pre.alpha.38 → 0.1.0.pre.alpha.40

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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/account.rb +88 -1
  6. data/lib/lithic/models/account_update_params.rb +86 -1
  7. data/lib/lithic/models/aggregate_balance.rb +1 -0
  8. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -0
  9. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +4 -10
  10. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -25
  11. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +238 -16
  12. data/lib/lithic/models/balance.rb +1 -0
  13. data/lib/lithic/models/balance_list_params.rb +1 -0
  14. data/lib/lithic/models/card_create_params.rb +90 -1
  15. data/lib/lithic/models/card_program.rb +10 -1
  16. data/lib/lithic/models/card_update_params.rb +98 -1
  17. data/lib/lithic/models/cards/balance_list_response.rb +1 -0
  18. data/lib/lithic/models/event.rb +2 -0
  19. data/lib/lithic/models/event_list_params.rb +2 -0
  20. data/lib/lithic/models/event_subscription.rb +2 -0
  21. data/lib/lithic/models/events/subscription_create_params.rb +2 -0
  22. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  23. data/lib/lithic/models/events/subscription_update_params.rb +2 -0
  24. data/lib/lithic/models/external_resource.rb +34 -0
  25. data/lib/lithic/models/external_resource_type.rb +18 -0
  26. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  27. data/lib/lithic/models/financial_accounts/balance_list_response.rb +1 -0
  28. data/lib/lithic/models/management_operation_create_params.rb +30 -1
  29. data/lib/lithic/models/management_operation_transaction.rb +22 -1
  30. data/lib/lithic/models/network_program.rb +41 -0
  31. data/lib/lithic/models/network_program_list_params.rb +43 -0
  32. data/lib/lithic/models/network_program_retrieve_params.rb +14 -0
  33. data/lib/lithic/models/non_pci_card.rb +88 -1
  34. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  35. data/lib/lithic/models/reports/settlement/network_total_list_response.rb +16 -6
  36. data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +16 -6
  37. data/lib/lithic/models/transaction.rb +31 -20
  38. data/lib/lithic/models.rb +10 -0
  39. data/lib/lithic/resources/accounts.rb +5 -1
  40. data/lib/lithic/resources/cards.rb +12 -2
  41. data/lib/lithic/resources/management_operations.rb +13 -1
  42. data/lib/lithic/resources/network_programs.rb +64 -0
  43. data/lib/lithic/version.rb +1 -1
  44. data/lib/lithic.rb +6 -0
  45. data/rbi/lithic/client.rbi +3 -0
  46. data/rbi/lithic/models/account.rbi +131 -0
  47. data/rbi/lithic/models/account_update_params.rbi +159 -0
  48. data/rbi/lithic/models/aggregate_balance.rbi +5 -0
  49. data/rbi/lithic/models/aggregate_balance_list_params.rbi +5 -0
  50. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +6 -15
  51. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +18 -25
  52. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +527 -31
  53. data/rbi/lithic/models/balance.rbi +2 -0
  54. data/rbi/lithic/models/balance_list_params.rbi +5 -0
  55. data/rbi/lithic/models/card_create_params.rbi +190 -0
  56. data/rbi/lithic/models/card_program.rbi +13 -0
  57. data/rbi/lithic/models/card_update_params.rbi +168 -0
  58. data/rbi/lithic/models/cards/balance_list_response.rbi +5 -0
  59. data/rbi/lithic/models/event.rbi +10 -0
  60. data/rbi/lithic/models/event_list_params.rbi +10 -0
  61. data/rbi/lithic/models/event_subscription.rbi +10 -0
  62. data/rbi/lithic/models/events/subscription_create_params.rbi +10 -0
  63. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  64. data/rbi/lithic/models/events/subscription_update_params.rbi +10 -0
  65. data/rbi/lithic/models/external_resource.rbi +57 -0
  66. data/rbi/lithic/models/external_resource_type.rbi +26 -0
  67. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  68. data/rbi/lithic/models/financial_accounts/balance_list_response.rbi +5 -0
  69. data/rbi/lithic/models/management_operation_create_params.rbi +59 -0
  70. data/rbi/lithic/models/management_operation_transaction.rbi +15 -0
  71. data/rbi/lithic/models/network_program.rbi +61 -0
  72. data/rbi/lithic/models/network_program_list_params.rbi +72 -0
  73. data/rbi/lithic/models/network_program_retrieve_params.rbi +27 -0
  74. data/rbi/lithic/models/non_pci_card.rbi +133 -3
  75. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  76. data/rbi/lithic/models/reports/settlement/network_total_list_response.rbi +21 -6
  77. data/rbi/lithic/models/reports/settlement/network_total_retrieve_response.rbi +21 -6
  78. data/rbi/lithic/models/transaction.rbi +23 -31
  79. data/rbi/lithic/models.rbi +10 -0
  80. data/rbi/lithic/resources/accounts.rbi +32 -0
  81. data/rbi/lithic/resources/cards.rbi +70 -0
  82. data/rbi/lithic/resources/management_operations.rbi +4 -0
  83. data/rbi/lithic/resources/network_programs.rbi +48 -0
  84. data/sig/lithic/client.rbs +2 -0
  85. data/sig/lithic/models/account.rbs +41 -0
  86. data/sig/lithic/models/account_update_params.rbs +41 -0
  87. data/sig/lithic/models/aggregate_balance.rbs +2 -1
  88. data/sig/lithic/models/aggregate_balance_list_params.rbs +2 -1
  89. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -14
  90. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +212 -7
  91. data/sig/lithic/models/balance.rbs +2 -1
  92. data/sig/lithic/models/balance_list_params.rbs +2 -1
  93. data/sig/lithic/models/card_create_params.rbs +47 -0
  94. data/sig/lithic/models/card_program.rbs +7 -0
  95. data/sig/lithic/models/card_update_params.rbs +55 -1
  96. data/sig/lithic/models/cards/balance_list_response.rbs +2 -1
  97. data/sig/lithic/models/event.rbs +4 -0
  98. data/sig/lithic/models/event_list_params.rbs +4 -0
  99. data/sig/lithic/models/event_subscription.rbs +4 -0
  100. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  101. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  102. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  103. data/sig/lithic/models/external_resource.rbs +32 -0
  104. data/sig/lithic/models/external_resource_type.rbs +16 -0
  105. data/sig/lithic/models/financial_account_list_params.rbs +2 -1
  106. data/sig/lithic/models/financial_accounts/balance_list_response.rbs +2 -1
  107. data/sig/lithic/models/management_operation_create_params.rbs +20 -0
  108. data/sig/lithic/models/management_operation_transaction.rbs +5 -0
  109. data/sig/lithic/models/network_program.rbs +35 -0
  110. data/sig/lithic/models/network_program_list_params.rbs +38 -0
  111. data/sig/lithic/models/network_program_retrieve_params.rbs +15 -0
  112. data/sig/lithic/models/non_pci_card.rbs +55 -3
  113. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  114. data/sig/lithic/models/reports/settlement/network_total_list_response.rbs +7 -1
  115. data/sig/lithic/models/reports/settlement/network_total_retrieve_response.rbs +7 -1
  116. data/sig/lithic/models/transaction.rbs +2 -6
  117. data/sig/lithic/models.rbs +10 -0
  118. data/sig/lithic/resources/accounts.rbs +2 -0
  119. data/sig/lithic/resources/cards.rbs +5 -0
  120. data/sig/lithic/resources/management_operations.rbs +1 -0
  121. data/sig/lithic/resources/network_programs.rbs +19 -0
  122. metadata +20 -2
@@ -120,6 +120,14 @@ module Lithic
120
120
  sig { params(replacement_account_token: String).void }
121
121
  attr_writer :replacement_account_token
122
122
 
123
+ # Additional context or information related to the card that this card will
124
+ # replace.
125
+ sig { returns(T.nilable(String)) }
126
+ attr_reader :replacement_comment
127
+
128
+ sig { params(replacement_comment: String).void }
129
+ attr_writer :replacement_comment
130
+
123
131
  # Globally unique identifier for the card that this card will replace. If the card
124
132
  # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is
125
133
  # `VIRTUAL` it will be replaced by a `VIRTUAL` card.
@@ -129,6 +137,48 @@ module Lithic
129
137
  sig { params(replacement_for: String).void }
130
138
  attr_writer :replacement_for
131
139
 
140
+ # Card state substatus values for the card that this card will replace:
141
+ #
142
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
143
+ # being lost or never received by the cardholder.
144
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
145
+ # unauthorized access. This may involve physical card theft, cloning, or online
146
+ # data breaches.
147
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
148
+ # failures or a demagnetized magnetic stripe.
149
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
150
+ # reasons unrelated to fraud or damage, such as switching to a different product
151
+ # or closing the account.
152
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
153
+ # or damage, such as account inactivity, product or policy changes, or
154
+ # technology upgrades.
155
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
156
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
157
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
158
+ # activities that require review. This can involve prompting the cardholder to
159
+ # confirm legitimate use or report confirmed fraud.
160
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
161
+ # review.
162
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
163
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
164
+ # returned.
165
+ # - `OTHER` - The reason for the status does not fall into any of the above
166
+ # categories. A comment should be provided to specify the reason.
167
+ sig do
168
+ returns(
169
+ T.nilable(Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol)
170
+ )
171
+ end
172
+ attr_reader :replacement_substatus
173
+
174
+ sig do
175
+ params(
176
+ replacement_substatus:
177
+ Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol
178
+ ).void
179
+ end
180
+ attr_writer :replacement_substatus
181
+
132
182
  sig { returns(T.nilable(Lithic::ShippingAddress)) }
133
183
  attr_reader :shipping_address
134
184
 
@@ -217,7 +267,10 @@ module Lithic
217
267
  pin: String,
218
268
  product_id: String,
219
269
  replacement_account_token: String,
270
+ replacement_comment: String,
220
271
  replacement_for: String,
272
+ replacement_substatus:
273
+ Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol,
221
274
  shipping_address: Lithic::ShippingAddress::OrHash,
222
275
  shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol,
223
276
  spend_limit: Integer,
@@ -284,10 +337,41 @@ module Lithic
284
337
  # If `replacement_for` is specified and this field is omitted, the replacement
285
338
  # card's account will be inferred from the card being replaced.
286
339
  replacement_account_token: nil,
340
+ # Additional context or information related to the card that this card will
341
+ # replace.
342
+ replacement_comment: nil,
287
343
  # Globally unique identifier for the card that this card will replace. If the card
288
344
  # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is
289
345
  # `VIRTUAL` it will be replaced by a `VIRTUAL` card.
290
346
  replacement_for: nil,
347
+ # Card state substatus values for the card that this card will replace:
348
+ #
349
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
350
+ # being lost or never received by the cardholder.
351
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
352
+ # unauthorized access. This may involve physical card theft, cloning, or online
353
+ # data breaches.
354
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
355
+ # failures or a demagnetized magnetic stripe.
356
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
357
+ # reasons unrelated to fraud or damage, such as switching to a different product
358
+ # or closing the account.
359
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
360
+ # or damage, such as account inactivity, product or policy changes, or
361
+ # technology upgrades.
362
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
363
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
364
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
365
+ # activities that require review. This can involve prompting the cardholder to
366
+ # confirm legitimate use or report confirmed fraud.
367
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
368
+ # review.
369
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
370
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
371
+ # returned.
372
+ # - `OTHER` - The reason for the status does not fall into any of the above
373
+ # categories. A comment should be provided to specify the reason.
374
+ replacement_substatus: nil,
291
375
  shipping_address: nil,
292
376
  # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
293
377
  # options besides `STANDARD` require additional permissions.
@@ -348,7 +432,10 @@ module Lithic
348
432
  pin: String,
349
433
  product_id: String,
350
434
  replacement_account_token: String,
435
+ replacement_comment: String,
351
436
  replacement_for: String,
437
+ replacement_substatus:
438
+ Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol,
352
439
  shipping_address: Lithic::ShippingAddress,
353
440
  shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol,
354
441
  spend_limit: Integer,
@@ -405,6 +492,109 @@ module Lithic
405
492
  end
406
493
  end
407
494
 
495
+ # Card state substatus values for the card that this card will replace:
496
+ #
497
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
498
+ # being lost or never received by the cardholder.
499
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
500
+ # unauthorized access. This may involve physical card theft, cloning, or online
501
+ # data breaches.
502
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
503
+ # failures or a demagnetized magnetic stripe.
504
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
505
+ # reasons unrelated to fraud or damage, such as switching to a different product
506
+ # or closing the account.
507
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
508
+ # or damage, such as account inactivity, product or policy changes, or
509
+ # technology upgrades.
510
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
511
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
512
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
513
+ # activities that require review. This can involve prompting the cardholder to
514
+ # confirm legitimate use or report confirmed fraud.
515
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
516
+ # review.
517
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
518
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
519
+ # returned.
520
+ # - `OTHER` - The reason for the status does not fall into any of the above
521
+ # categories. A comment should be provided to specify the reason.
522
+ module ReplacementSubstatus
523
+ extend Lithic::Internal::Type::Enum
524
+
525
+ TaggedSymbol =
526
+ T.type_alias do
527
+ T.all(Symbol, Lithic::CardCreateParams::ReplacementSubstatus)
528
+ end
529
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
530
+
531
+ LOST =
532
+ T.let(
533
+ :LOST,
534
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
535
+ )
536
+ COMPROMISED =
537
+ T.let(
538
+ :COMPROMISED,
539
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
540
+ )
541
+ DAMAGED =
542
+ T.let(
543
+ :DAMAGED,
544
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
545
+ )
546
+ END_USER_REQUEST =
547
+ T.let(
548
+ :END_USER_REQUEST,
549
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
550
+ )
551
+ ISSUER_REQUEST =
552
+ T.let(
553
+ :ISSUER_REQUEST,
554
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
555
+ )
556
+ NOT_ACTIVE =
557
+ T.let(
558
+ :NOT_ACTIVE,
559
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
560
+ )
561
+ SUSPICIOUS_ACTIVITY =
562
+ T.let(
563
+ :SUSPICIOUS_ACTIVITY,
564
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
565
+ )
566
+ INTERNAL_REVIEW =
567
+ T.let(
568
+ :INTERNAL_REVIEW,
569
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
570
+ )
571
+ EXPIRED =
572
+ T.let(
573
+ :EXPIRED,
574
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
575
+ )
576
+ UNDELIVERABLE =
577
+ T.let(
578
+ :UNDELIVERABLE,
579
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
580
+ )
581
+ OTHER =
582
+ T.let(
583
+ :OTHER,
584
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
585
+ )
586
+
587
+ sig do
588
+ override.returns(
589
+ T::Array[
590
+ Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol
591
+ ]
592
+ )
593
+ end
594
+ def self.values
595
+ end
596
+ end
597
+
408
598
  # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
409
599
  # options besides `STANDARD` require additional permissions.
410
600
  #
@@ -26,6 +26,14 @@ module Lithic
26
26
  sig { returns(String) }
27
27
  attr_accessor :pan_range_start
28
28
 
29
+ # Whether the card program is participating in Account Level Management. Currently
30
+ # applicable to Visa card programs only.
31
+ sig { returns(T.nilable(T::Boolean)) }
32
+ attr_reader :account_level_management_enabled
33
+
34
+ sig { params(account_level_management_enabled: T::Boolean).void }
35
+ attr_writer :account_level_management_enabled
36
+
29
37
  # 3-character alphabetic ISO 4217 code for the currency of the cardholder.
30
38
  sig { returns(T.nilable(String)) }
31
39
  attr_reader :cardholder_currency
@@ -48,6 +56,7 @@ module Lithic
48
56
  name: String,
49
57
  pan_range_end: String,
50
58
  pan_range_start: String,
59
+ account_level_management_enabled: T::Boolean,
51
60
  cardholder_currency: String,
52
61
  settlement_currencies: T::Array[String]
53
62
  ).returns(T.attached_class)
@@ -63,6 +72,9 @@ module Lithic
63
72
  pan_range_end:,
64
73
  # The first digits of the card number that this card program starts with.
65
74
  pan_range_start:,
75
+ # Whether the card program is participating in Account Level Management. Currently
76
+ # applicable to Visa card programs only.
77
+ account_level_management_enabled: nil,
66
78
  # 3-character alphabetic ISO 4217 code for the currency of the cardholder.
67
79
  cardholder_currency: nil,
68
80
  # List of 3-character alphabetic ISO 4217 codes for the currencies that the card
@@ -79,6 +91,7 @@ module Lithic
79
91
  name: String,
80
92
  pan_range_end: String,
81
93
  pan_range_start: String,
94
+ account_level_management_enabled: T::Boolean,
82
95
  cardholder_currency: String,
83
96
  settlement_currencies: T::Array[String]
84
97
  }
@@ -11,6 +11,13 @@ module Lithic
11
11
  T.any(Lithic::CardUpdateParams, Lithic::Internal::AnyHash)
12
12
  end
13
13
 
14
+ # Additional context or information related to the card.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :comment
17
+
18
+ sig { params(comment: String).void }
19
+ attr_writer :comment
20
+
14
21
  # Specifies the digital card art to be displayed in the user’s digital wallet
15
22
  # after tokenization. This artwork must be approved by Mastercard and configured
16
23
  # by Lithic to use. See
@@ -28,6 +35,14 @@ module Lithic
28
35
  sig { params(memo: String).void }
29
36
  attr_writer :memo
30
37
 
38
+ # Globally unique identifier for the card's network program. Currently applicable
39
+ # to Visa cards participating in Account Level Management only.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :network_program_token
42
+
43
+ sig { params(network_program_token: String).void }
44
+ attr_writer :network_program_token
45
+
31
46
  # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and
32
47
  # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See
33
48
  # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block).
@@ -92,19 +107,59 @@ module Lithic
92
107
  sig { params(state: Lithic::CardUpdateParams::State::OrSymbol).void }
93
108
  attr_writer :state
94
109
 
110
+ # Card state substatus values:
111
+ #
112
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
113
+ # being lost or never received by the cardholder.
114
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
115
+ # unauthorized access. This may involve physical card theft, cloning, or online
116
+ # data breaches.
117
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
118
+ # failures or a demagnetized magnetic stripe.
119
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
120
+ # reasons unrelated to fraud or damage, such as switching to a different product
121
+ # or closing the account.
122
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
123
+ # or damage, such as account inactivity, product or policy changes, or
124
+ # technology upgrades.
125
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
126
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
127
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
128
+ # activities that require review. This can involve prompting the cardholder to
129
+ # confirm legitimate use or report confirmed fraud.
130
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
131
+ # review.
132
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
133
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
134
+ # returned.
135
+ # - `OTHER` - The reason for the status does not fall into any of the above
136
+ # categories. A comment should be provided to specify the reason.
137
+ sig { returns(T.nilable(Lithic::CardUpdateParams::Substatus::OrSymbol)) }
138
+ attr_reader :substatus
139
+
140
+ sig do
141
+ params(substatus: Lithic::CardUpdateParams::Substatus::OrSymbol).void
142
+ end
143
+ attr_writer :substatus
144
+
95
145
  sig do
96
146
  params(
147
+ comment: String,
97
148
  digital_card_art_token: String,
98
149
  memo: String,
150
+ network_program_token: String,
99
151
  pin: String,
100
152
  pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol,
101
153
  spend_limit: Integer,
102
154
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
103
155
  state: Lithic::CardUpdateParams::State::OrSymbol,
156
+ substatus: Lithic::CardUpdateParams::Substatus::OrSymbol,
104
157
  request_options: Lithic::RequestOptions::OrHash
105
158
  ).returns(T.attached_class)
106
159
  end
107
160
  def self.new(
161
+ # Additional context or information related to the card.
162
+ comment: nil,
108
163
  # Specifies the digital card art to be displayed in the user’s digital wallet
109
164
  # after tokenization. This artwork must be approved by Mastercard and configured
110
165
  # by Lithic to use. See
@@ -112,6 +167,9 @@ module Lithic
112
167
  digital_card_art_token: nil,
113
168
  # Friendly name to identify the card.
114
169
  memo: nil,
170
+ # Globally unique identifier for the card's network program. Currently applicable
171
+ # to Visa cards participating in Account Level Management only.
172
+ network_program_token: nil,
115
173
  # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and
116
174
  # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See
117
175
  # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block).
@@ -147,6 +205,34 @@ module Lithic
147
205
  # - `PAUSED` - Card will decline authorizations, but can be resumed at a later
148
206
  # time.
149
207
  state: nil,
208
+ # Card state substatus values:
209
+ #
210
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
211
+ # being lost or never received by the cardholder.
212
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
213
+ # unauthorized access. This may involve physical card theft, cloning, or online
214
+ # data breaches.
215
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
216
+ # failures or a demagnetized magnetic stripe.
217
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
218
+ # reasons unrelated to fraud or damage, such as switching to a different product
219
+ # or closing the account.
220
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
221
+ # or damage, such as account inactivity, product or policy changes, or
222
+ # technology upgrades.
223
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
224
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
225
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
226
+ # activities that require review. This can involve prompting the cardholder to
227
+ # confirm legitimate use or report confirmed fraud.
228
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
229
+ # review.
230
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
231
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
232
+ # returned.
233
+ # - `OTHER` - The reason for the status does not fall into any of the above
234
+ # categories. A comment should be provided to specify the reason.
235
+ substatus: nil,
150
236
  request_options: {}
151
237
  )
152
238
  end
@@ -154,13 +240,16 @@ module Lithic
154
240
  sig do
155
241
  override.returns(
156
242
  {
243
+ comment: String,
157
244
  digital_card_art_token: String,
158
245
  memo: String,
246
+ network_program_token: String,
159
247
  pin: String,
160
248
  pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol,
161
249
  spend_limit: Integer,
162
250
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
163
251
  state: Lithic::CardUpdateParams::State::OrSymbol,
252
+ substatus: Lithic::CardUpdateParams::Substatus::OrSymbol,
164
253
  request_options: Lithic::RequestOptions
165
254
  }
166
255
  )
@@ -215,6 +304,85 @@ module Lithic
215
304
  def self.values
216
305
  end
217
306
  end
307
+
308
+ # Card state substatus values:
309
+ #
310
+ # - `LOST` - The physical card is no longer in the cardholder's possession due to
311
+ # being lost or never received by the cardholder.
312
+ # - `COMPROMISED` - Card information has been exposed, potentially leading to
313
+ # unauthorized access. This may involve physical card theft, cloning, or online
314
+ # data breaches.
315
+ # - `DAMAGED` - The physical card is not functioning properly, such as having chip
316
+ # failures or a demagnetized magnetic stripe.
317
+ # - `END_USER_REQUEST` - The cardholder requested the closure of the card for
318
+ # reasons unrelated to fraud or damage, such as switching to a different product
319
+ # or closing the account.
320
+ # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud
321
+ # or damage, such as account inactivity, product or policy changes, or
322
+ # technology upgrades.
323
+ # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified
324
+ # period, applicable to statuses like `PAUSED` or `CLOSED`.
325
+ # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or
326
+ # activities that require review. This can involve prompting the cardholder to
327
+ # confirm legitimate use or report confirmed fraud.
328
+ # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal
329
+ # review.
330
+ # - `EXPIRED` - The card has expired and has been closed without being reissued.
331
+ # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been
332
+ # returned.
333
+ # - `OTHER` - The reason for the status does not fall into any of the above
334
+ # categories. A comment should be provided to specify the reason.
335
+ module Substatus
336
+ extend Lithic::Internal::Type::Enum
337
+
338
+ TaggedSymbol =
339
+ T.type_alias { T.all(Symbol, Lithic::CardUpdateParams::Substatus) }
340
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
341
+
342
+ LOST = T.let(:LOST, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
343
+ COMPROMISED =
344
+ T.let(:COMPROMISED, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
345
+ DAMAGED =
346
+ T.let(:DAMAGED, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
347
+ END_USER_REQUEST =
348
+ T.let(
349
+ :END_USER_REQUEST,
350
+ Lithic::CardUpdateParams::Substatus::TaggedSymbol
351
+ )
352
+ ISSUER_REQUEST =
353
+ T.let(
354
+ :ISSUER_REQUEST,
355
+ Lithic::CardUpdateParams::Substatus::TaggedSymbol
356
+ )
357
+ NOT_ACTIVE =
358
+ T.let(:NOT_ACTIVE, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
359
+ SUSPICIOUS_ACTIVITY =
360
+ T.let(
361
+ :SUSPICIOUS_ACTIVITY,
362
+ Lithic::CardUpdateParams::Substatus::TaggedSymbol
363
+ )
364
+ INTERNAL_REVIEW =
365
+ T.let(
366
+ :INTERNAL_REVIEW,
367
+ Lithic::CardUpdateParams::Substatus::TaggedSymbol
368
+ )
369
+ EXPIRED =
370
+ T.let(:EXPIRED, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
371
+ UNDELIVERABLE =
372
+ T.let(
373
+ :UNDELIVERABLE,
374
+ Lithic::CardUpdateParams::Substatus::TaggedSymbol
375
+ )
376
+ OTHER = T.let(:OTHER, Lithic::CardUpdateParams::Substatus::TaggedSymbol)
377
+
378
+ sig do
379
+ override.returns(
380
+ T::Array[Lithic::CardUpdateParams::Substatus::TaggedSymbol]
381
+ )
382
+ end
383
+ def self.values
384
+ end
385
+ end
218
386
  end
219
387
  end
220
388
  end
@@ -148,6 +148,11 @@ module Lithic
148
148
  :RESERVE,
149
149
  Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol
150
150
  )
151
+ SECURITY =
152
+ T.let(
153
+ :SECURITY,
154
+ Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol
155
+ )
151
156
 
152
157
  sig do
153
158
  override.returns(
@@ -271,6 +271,16 @@ module Lithic
271
271
  :"management_operation.updated",
272
272
  Lithic::Event::EventType::TaggedSymbol
273
273
  )
274
+ NETWORK_TOTAL_CREATED =
275
+ T.let(
276
+ :"network_total.created",
277
+ Lithic::Event::EventType::TaggedSymbol
278
+ )
279
+ NETWORK_TOTAL_UPDATED =
280
+ T.let(
281
+ :"network_total.updated",
282
+ Lithic::Event::EventType::TaggedSymbol
283
+ )
274
284
  PAYMENT_TRANSACTION_CREATED =
275
285
  T.let(
276
286
  :"payment_transaction.created",
@@ -281,6 +281,16 @@ module Lithic
281
281
  :"management_operation.updated",
282
282
  Lithic::EventListParams::EventType::TaggedSymbol
283
283
  )
284
+ NETWORK_TOTAL_CREATED =
285
+ T.let(
286
+ :"network_total.created",
287
+ Lithic::EventListParams::EventType::TaggedSymbol
288
+ )
289
+ NETWORK_TOTAL_UPDATED =
290
+ T.let(
291
+ :"network_total.updated",
292
+ Lithic::EventListParams::EventType::TaggedSymbol
293
+ )
284
294
  PAYMENT_TRANSACTION_CREATED =
285
295
  T.let(
286
296
  :"payment_transaction.created",
@@ -229,6 +229,16 @@ module Lithic
229
229
  :"management_operation.updated",
230
230
  Lithic::EventSubscription::EventType::TaggedSymbol
231
231
  )
232
+ NETWORK_TOTAL_CREATED =
233
+ T.let(
234
+ :"network_total.created",
235
+ Lithic::EventSubscription::EventType::TaggedSymbol
236
+ )
237
+ NETWORK_TOTAL_UPDATED =
238
+ T.let(
239
+ :"network_total.updated",
240
+ Lithic::EventSubscription::EventType::TaggedSymbol
241
+ )
232
242
  PAYMENT_TRANSACTION_CREATED =
233
243
  T.let(
234
244
  :"payment_transaction.created",
@@ -258,6 +258,16 @@ module Lithic
258
258
  :"management_operation.updated",
259
259
  Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol
260
260
  )
261
+ NETWORK_TOTAL_CREATED =
262
+ T.let(
263
+ :"network_total.created",
264
+ Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol
265
+ )
266
+ NETWORK_TOTAL_UPDATED =
267
+ T.let(
268
+ :"network_total.updated",
269
+ Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol
270
+ )
261
271
  PAYMENT_TRANSACTION_CREATED =
262
272
  T.let(
263
273
  :"payment_transaction.created",
@@ -222,6 +222,16 @@ module Lithic
222
222
  :"management_operation.updated",
223
223
  Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol
224
224
  )
225
+ NETWORK_TOTAL_CREATED =
226
+ T.let(
227
+ :"network_total.created",
228
+ Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol
229
+ )
230
+ NETWORK_TOTAL_UPDATED =
231
+ T.let(
232
+ :"network_total.updated",
233
+ Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol
234
+ )
225
235
  PAYMENT_TRANSACTION_CREATED =
226
236
  T.let(
227
237
  :"payment_transaction.created",
@@ -258,6 +258,16 @@ module Lithic
258
258
  :"management_operation.updated",
259
259
  Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol
260
260
  )
261
+ NETWORK_TOTAL_CREATED =
262
+ T.let(
263
+ :"network_total.created",
264
+ Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol
265
+ )
266
+ NETWORK_TOTAL_UPDATED =
267
+ T.let(
268
+ :"network_total.updated",
269
+ Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol
270
+ )
261
271
  PAYMENT_TRANSACTION_CREATED =
262
272
  T.let(
263
273
  :"payment_transaction.created",