lithic 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +4 -1
  6. data/lib/lithic/models/account.rb +2 -2
  7. data/lib/lithic/models/account_holders/account_holder_entity.rb +3 -16
  8. data/lib/lithic/models/account_holders/entity_create_params.rb +3 -14
  9. data/lib/lithic/models/auth_rules/auth_rule.rb +4 -2
  10. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  11. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  12. data/lib/lithic/models/auth_rules/rule_feature.rb +29 -6
  13. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  14. data/lib/lithic/models/auth_rules/v2_create_params.rb +12 -6
  15. data/lib/lithic/models/card.rb +1 -1
  16. data/lib/lithic/models/card_authorization.rb +117 -11
  17. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  18. data/lib/lithic/models/payment.rb +13 -1
  19. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  20. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  21. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  22. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  23. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  24. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  25. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  26. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  27. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  28. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  29. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  30. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  31. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  32. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  33. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  34. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  35. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  36. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  37. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  38. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  39. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  44. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  45. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  46. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  47. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  48. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  49. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  50. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  51. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  52. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  53. data/lib/lithic/models/transaction_route_params.rb +29 -0
  54. data/lib/lithic/models.rb +4 -0
  55. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  56. data/lib/lithic/resources/cards.rb +2 -2
  57. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  58. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  59. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  60. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  61. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  62. data/lib/lithic/resources/transactions.rb +25 -0
  63. data/lib/lithic/version.rb +1 -1
  64. data/lib/lithic.rb +40 -0
  65. data/rbi/lithic/client.rbi +3 -0
  66. data/rbi/lithic/models/account.rbi +3 -3
  67. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  68. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  71. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  72. data/rbi/lithic/models/auth_rules/rule_feature.rbi +41 -5
  73. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +3 -0
  74. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +18 -9
  75. data/rbi/lithic/models/card.rbi +2 -2
  76. data/rbi/lithic/models/card_authorization.rbi +246 -17
  77. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  78. data/rbi/lithic/models/payment.rbi +13 -0
  79. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  80. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  81. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  82. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  83. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  84. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  85. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  86. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  87. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  88. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  89. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  90. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  91. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  94. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  95. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  96. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  97. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  98. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  99. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  100. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  101. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  102. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  103. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  104. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  105. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  106. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  107. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  108. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  109. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  110. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  111. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  112. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  113. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  114. data/rbi/lithic/models.rbi +4 -0
  115. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  116. data/rbi/lithic/resources/cards.rbi +2 -2
  117. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  118. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  119. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  120. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  121. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  122. data/rbi/lithic/resources/transactions.rbi +18 -0
  123. data/sig/lithic/client.rbs +2 -0
  124. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  125. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  126. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  127. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  128. data/sig/lithic/models/auth_rules/rule_feature.rbs +16 -0
  129. data/sig/lithic/models/card_authorization.rbs +84 -10
  130. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  131. data/sig/lithic/models/payment.rbs +7 -0
  132. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  133. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  134. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  135. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  136. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  137. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  138. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  139. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  140. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  141. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  142. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  143. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  144. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  145. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  146. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  147. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  148. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  149. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  150. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  151. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  152. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  153. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  154. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  155. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  156. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  157. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  158. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  159. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  160. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  161. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  162. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  163. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  164. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  165. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  166. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  167. data/sig/lithic/models.rbs +4 -0
  168. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  169. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  170. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  171. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  172. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  173. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  174. data/sig/lithic/resources/transactions.rbs +6 -0
  175. metadata +122 -2
@@ -0,0 +1,228 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ class Cases
7
+ # @return [Lithic::Resources::TransactionMonitoring::Cases::Comments]
8
+ attr_reader :comments
9
+
10
+ # @return [Lithic::Resources::TransactionMonitoring::Cases::Files]
11
+ attr_reader :files
12
+
13
+ # Retrieves a single transaction monitoring case.
14
+ #
15
+ # @overload retrieve(case_token, request_options: {})
16
+ #
17
+ # @param case_token [String] Globally unique identifier for the case.
18
+ #
19
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [Lithic::Models::TransactionMonitoring::MonitoringCase]
22
+ #
23
+ # @see Lithic::Models::TransactionMonitoring::CaseRetrieveParams
24
+ def retrieve(case_token, params = {})
25
+ @client.request(
26
+ method: :get,
27
+ path: ["v1/transaction_monitoring/cases/%1$s", case_token],
28
+ model: Lithic::TransactionMonitoring::MonitoringCase,
29
+ options: params[:request_options]
30
+ )
31
+ end
32
+
33
+ # Some parameter documentations has been truncated, see
34
+ # {Lithic::Models::TransactionMonitoring::CaseUpdateParams} for more details.
35
+ #
36
+ # Updates a transaction monitoring case.
37
+ #
38
+ # @overload update(case_token, actor_token: nil, assignee: nil, priority: nil, resolution: nil, resolution_notes: nil, sla_deadline: nil, status: nil, tags: nil, title: nil, request_options: {})
39
+ #
40
+ # @param case_token [String] Globally unique identifier for the case.
41
+ #
42
+ # @param actor_token [String] Optional client-provided identifier for the actor performing this action,
43
+ #
44
+ # @param assignee [String, nil] New assignee for the case, or `null` to unassign
45
+ #
46
+ # @param priority [Symbol, Lithic::Models::TransactionMonitoring::CasePriority] Priority level of a case, controlling queue ordering and SLA urgency
47
+ #
48
+ # @param resolution [Symbol, Lithic::Models::TransactionMonitoring::ResolutionOutcome] Outcome recorded when a case is resolved:
49
+ #
50
+ # @param resolution_notes [String] Notes describing the resolution
51
+ #
52
+ # @param sla_deadline [Time, nil] New SLA deadline for the case, or `null` to clear it
53
+ #
54
+ # @param status [Symbol, Lithic::Models::TransactionMonitoring::CaseStatus] Status of a case as it progresses through the review workflow:
55
+ #
56
+ # @param tags [Hash{Symbol=>String}] Arbitrary key-value metadata to set on the case
57
+ #
58
+ # @param title [String, nil] New title for the case, or `null` to clear it
59
+ #
60
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
61
+ #
62
+ # @return [Lithic::Models::TransactionMonitoring::MonitoringCase]
63
+ #
64
+ # @see Lithic::Models::TransactionMonitoring::CaseUpdateParams
65
+ def update(case_token, params = {})
66
+ parsed, options = Lithic::TransactionMonitoring::CaseUpdateParams.dump_request(params)
67
+ @client.request(
68
+ method: :patch,
69
+ path: ["v1/transaction_monitoring/cases/%1$s", case_token],
70
+ body: parsed,
71
+ model: Lithic::TransactionMonitoring::MonitoringCase,
72
+ options: options
73
+ )
74
+ end
75
+
76
+ # Some parameter documentations has been truncated, see
77
+ # {Lithic::Models::TransactionMonitoring::CaseListParams} for more details.
78
+ #
79
+ # Lists transaction monitoring cases, optionally filtered.
80
+ #
81
+ # @overload list(account_token: nil, assignee: nil, begin_: nil, card_token: nil, end_: nil, ending_before: nil, entity_token: nil, page_size: nil, queue_token: nil, rule_token: nil, sort_by: nil, starting_after: nil, status: nil, transaction_token: nil, request_options: {})
82
+ #
83
+ # @param account_token [String] Only return cases that include transactions on the provided account.
84
+ #
85
+ # @param assignee [String] Only return cases assigned to the provided value. Pass an empty string to return
86
+ #
87
+ # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi
88
+ #
89
+ # @param card_token [String] Only return cases that include transactions on the provided card.
90
+ #
91
+ # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w
92
+ #
93
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
94
+ #
95
+ # @param entity_token [String] Only return cases associated with the provided entity.
96
+ #
97
+ # @param page_size [Integer] Page size (for pagination).
98
+ #
99
+ # @param queue_token [String] Only return cases belonging to the provided queue.
100
+ #
101
+ # @param rule_token [String] Only return cases triggered by the provided transaction monitoring rule.
102
+ #
103
+ # @param sort_by [Symbol, Lithic::Models::TransactionMonitoring::CaseSortOrder] Sort order for the returned cases.
104
+ #
105
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
106
+ #
107
+ # @param status [Symbol, Lithic::Models::TransactionMonitoring::CaseStatus] Only return cases with the provided status.
108
+ #
109
+ # @param transaction_token [String] Only return cases that include the provided transaction.
110
+ #
111
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
112
+ #
113
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::MonitoringCase>]
114
+ #
115
+ # @see Lithic::Models::TransactionMonitoring::CaseListParams
116
+ def list(params = {})
117
+ parsed, options = Lithic::TransactionMonitoring::CaseListParams.dump_request(params)
118
+ query = Lithic::Internal::Util.encode_query_params(parsed)
119
+ @client.request(
120
+ method: :get,
121
+ path: "v1/transaction_monitoring/cases",
122
+ query: query.transform_keys(begin_: "begin", end_: "end"),
123
+ page: Lithic::Internal::CursorPage,
124
+ model: Lithic::TransactionMonitoring::MonitoringCase,
125
+ options: options
126
+ )
127
+ end
128
+
129
+ # Some parameter documentations has been truncated, see
130
+ # {Lithic::Models::TransactionMonitoring::CaseListActivityParams} for more
131
+ # details.
132
+ #
133
+ # Lists the activity feed for a case.
134
+ #
135
+ # @overload list_activity(case_token, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
136
+ #
137
+ # @param case_token [String] Globally unique identifier for the case.
138
+ #
139
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
140
+ #
141
+ # @param page_size [Integer] Page size (for pagination).
142
+ #
143
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
144
+ #
145
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
146
+ #
147
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::CaseActivityEntry>]
148
+ #
149
+ # @see Lithic::Models::TransactionMonitoring::CaseListActivityParams
150
+ def list_activity(case_token, params = {})
151
+ parsed, options = Lithic::TransactionMonitoring::CaseListActivityParams.dump_request(params)
152
+ query = Lithic::Internal::Util.encode_query_params(parsed)
153
+ @client.request(
154
+ method: :get,
155
+ path: ["v1/transaction_monitoring/cases/%1$s/activity", case_token],
156
+ query: query,
157
+ page: Lithic::Internal::CursorPage,
158
+ model: Lithic::TransactionMonitoring::CaseActivityEntry,
159
+ options: options
160
+ )
161
+ end
162
+
163
+ # Some parameter documentations has been truncated, see
164
+ # {Lithic::Models::TransactionMonitoring::CaseListTransactionsParams} for more
165
+ # details.
166
+ #
167
+ # Lists the transactions associated with a case.
168
+ #
169
+ # @overload list_transactions(case_token, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
170
+ #
171
+ # @param case_token [String] Globally unique identifier for the case.
172
+ #
173
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
174
+ #
175
+ # @param page_size [Integer] Page size (for pagination).
176
+ #
177
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
178
+ #
179
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
180
+ #
181
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::CaseTransaction>]
182
+ #
183
+ # @see Lithic::Models::TransactionMonitoring::CaseListTransactionsParams
184
+ def list_transactions(case_token, params = {})
185
+ parsed, options = Lithic::TransactionMonitoring::CaseListTransactionsParams.dump_request(params)
186
+ query = Lithic::Internal::Util.encode_query_params(parsed)
187
+ @client.request(
188
+ method: :get,
189
+ path: ["v1/transaction_monitoring/cases/%1$s/transactions", case_token],
190
+ query: query,
191
+ page: Lithic::Internal::CursorPage,
192
+ model: Lithic::TransactionMonitoring::CaseTransaction,
193
+ options: options
194
+ )
195
+ end
196
+
197
+ # Lists the cards involved in a case, with per-card transaction counts.
198
+ #
199
+ # @overload retrieve_cards(case_token, request_options: {})
200
+ #
201
+ # @param case_token [String] Globally unique identifier for the case.
202
+ #
203
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
204
+ #
205
+ # @return [Array<Lithic::Models::TransactionMonitoring::CaseCard>]
206
+ #
207
+ # @see Lithic::Models::TransactionMonitoring::CaseRetrieveCardsParams
208
+ def retrieve_cards(case_token, params = {})
209
+ @client.request(
210
+ method: :get,
211
+ path: ["v1/transaction_monitoring/cases/%1$s/cards", case_token],
212
+ model: Lithic::Internal::Type::ArrayOf[Lithic::TransactionMonitoring::CaseCard],
213
+ options: params[:request_options]
214
+ )
215
+ end
216
+
217
+ # @api private
218
+ #
219
+ # @param client [Lithic::Client]
220
+ def initialize(client:)
221
+ @client = client
222
+ @comments = Lithic::Resources::TransactionMonitoring::Cases::Comments.new(client: client)
223
+ @files = Lithic::Resources::TransactionMonitoring::Cases::Files.new(client: client)
224
+ end
225
+ end
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,137 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ class Queues
7
+ # Creates a new queue for grouping transaction monitoring cases.
8
+ #
9
+ # @overload create(name:, description: nil, request_options: {})
10
+ #
11
+ # @param name [String] Human-readable name of the queue
12
+ #
13
+ # @param description [String, nil] Optional description of the queue
14
+ #
15
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Lithic::Models::TransactionMonitoring::Queue]
18
+ #
19
+ # @see Lithic::Models::TransactionMonitoring::QueueCreateParams
20
+ def create(params)
21
+ parsed, options = Lithic::TransactionMonitoring::QueueCreateParams.dump_request(params)
22
+ @client.request(
23
+ method: :post,
24
+ path: "v1/transaction_monitoring/queues",
25
+ body: parsed,
26
+ model: Lithic::TransactionMonitoring::Queue,
27
+ options: options
28
+ )
29
+ end
30
+
31
+ # Retrieves a single transaction monitoring queue.
32
+ #
33
+ # @overload retrieve(queue_token, request_options: {})
34
+ #
35
+ # @param queue_token [String] Globally unique identifier for the queue.
36
+ #
37
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
38
+ #
39
+ # @return [Lithic::Models::TransactionMonitoring::Queue]
40
+ #
41
+ # @see Lithic::Models::TransactionMonitoring::QueueRetrieveParams
42
+ def retrieve(queue_token, params = {})
43
+ @client.request(
44
+ method: :get,
45
+ path: ["v1/transaction_monitoring/queues/%1$s", queue_token],
46
+ model: Lithic::TransactionMonitoring::Queue,
47
+ options: params[:request_options]
48
+ )
49
+ end
50
+
51
+ # Updates a transaction monitoring queue.
52
+ #
53
+ # @overload update(queue_token, description: nil, name: nil, request_options: {})
54
+ #
55
+ # @param queue_token [String] Globally unique identifier for the queue.
56
+ #
57
+ # @param description [String, nil] New description for the queue, or `null` to clear it
58
+ #
59
+ # @param name [String] New name for the queue
60
+ #
61
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
62
+ #
63
+ # @return [Lithic::Models::TransactionMonitoring::Queue]
64
+ #
65
+ # @see Lithic::Models::TransactionMonitoring::QueueUpdateParams
66
+ def update(queue_token, params = {})
67
+ parsed, options = Lithic::TransactionMonitoring::QueueUpdateParams.dump_request(params)
68
+ @client.request(
69
+ method: :patch,
70
+ path: ["v1/transaction_monitoring/queues/%1$s", queue_token],
71
+ body: parsed,
72
+ model: Lithic::TransactionMonitoring::Queue,
73
+ options: options
74
+ )
75
+ end
76
+
77
+ # Some parameter documentations has been truncated, see
78
+ # {Lithic::Models::TransactionMonitoring::QueueListParams} for more details.
79
+ #
80
+ # Lists transaction monitoring queues.
81
+ #
82
+ # @overload list(ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
83
+ #
84
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
85
+ #
86
+ # @param page_size [Integer] Page size (for pagination).
87
+ #
88
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
89
+ #
90
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
91
+ #
92
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::Queue>]
93
+ #
94
+ # @see Lithic::Models::TransactionMonitoring::QueueListParams
95
+ def list(params = {})
96
+ parsed, options = Lithic::TransactionMonitoring::QueueListParams.dump_request(params)
97
+ query = Lithic::Internal::Util.encode_query_params(parsed)
98
+ @client.request(
99
+ method: :get,
100
+ path: "v1/transaction_monitoring/queues",
101
+ query: query,
102
+ page: Lithic::Internal::CursorPage,
103
+ model: Lithic::TransactionMonitoring::Queue,
104
+ options: options
105
+ )
106
+ end
107
+
108
+ # Deletes a transaction monitoring queue.
109
+ #
110
+ # @overload delete(queue_token, request_options: {})
111
+ #
112
+ # @param queue_token [String] Globally unique identifier for the queue.
113
+ #
114
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
115
+ #
116
+ # @return [nil]
117
+ #
118
+ # @see Lithic::Models::TransactionMonitoring::QueueDeleteParams
119
+ def delete(queue_token, params = {})
120
+ @client.request(
121
+ method: :delete,
122
+ path: ["v1/transaction_monitoring/queues/%1$s", queue_token],
123
+ model: NilClass,
124
+ options: params[:request_options]
125
+ )
126
+ end
127
+
128
+ # @api private
129
+ #
130
+ # @param client [Lithic::Client]
131
+ def initialize(client:)
132
+ @client = client
133
+ end
134
+ end
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ # @return [Lithic::Resources::TransactionMonitoring::Cases]
7
+ attr_reader :cases
8
+
9
+ # @return [Lithic::Resources::TransactionMonitoring::Queues]
10
+ attr_reader :queues
11
+
12
+ # @api private
13
+ #
14
+ # @param client [Lithic::Client]
15
+ def initialize(client:)
16
+ @client = client
17
+ @cases = Lithic::Resources::TransactionMonitoring::Cases.new(client: client)
18
+ @queues = Lithic::Resources::TransactionMonitoring::Queues.new(client: client)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -94,6 +94,31 @@ module Lithic
94
94
  )
95
95
  end
96
96
 
97
+ # Route a card transaction to a financial account. Only available for select use
98
+ # cases and programs.
99
+ #
100
+ # @overload route(transaction_token, financial_account_token:, request_options: {})
101
+ #
102
+ # @param transaction_token [String] The token of the transaction to route.
103
+ #
104
+ # @param financial_account_token [String] The token of the financial account to route the transaction to.
105
+ #
106
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
107
+ #
108
+ # @return [nil]
109
+ #
110
+ # @see Lithic::Models::TransactionRouteParams
111
+ def route(transaction_token, params)
112
+ parsed, options = Lithic::TransactionRouteParams.dump_request(params)
113
+ @client.request(
114
+ method: :post,
115
+ path: ["v1/transactions/%1$s/route", transaction_token],
116
+ body: parsed,
117
+ model: NilClass,
118
+ options: options
119
+ )
120
+ end
121
+
97
122
  # Some parameter documentations has been truncated, see
98
123
  # {Lithic::Models::TransactionSimulateAuthorizationParams} for more details.
99
124
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.15.0"
4
+ VERSION = "0.16.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -444,7 +444,42 @@ require_relative "lithic/models/tokenization_updated_webhook_event"
444
444
  require_relative "lithic/models/token_metadata"
445
445
  require_relative "lithic/models/transaction_expire_authorization_params"
446
446
  require_relative "lithic/models/transaction_list_params"
447
+ require_relative "lithic/models/transaction_monitoring/case_activity_entry"
448
+ require_relative "lithic/models/transaction_monitoring/case_activity_type"
449
+ require_relative "lithic/models/transaction_monitoring/case_card"
450
+ require_relative "lithic/models/transaction_monitoring/case_entity"
451
+ require_relative "lithic/models/transaction_monitoring/case_list_activity_params"
452
+ require_relative "lithic/models/transaction_monitoring/case_list_params"
453
+ require_relative "lithic/models/transaction_monitoring/case_list_transactions_params"
454
+ require_relative "lithic/models/transaction_monitoring/case_priority"
455
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_cards_params"
456
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_cards_response"
457
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_params"
458
+ require_relative "lithic/models/transaction_monitoring/cases/case_file"
459
+ require_relative "lithic/models/transaction_monitoring/cases/comment_create_params"
460
+ require_relative "lithic/models/transaction_monitoring/cases/comment_delete_params"
461
+ require_relative "lithic/models/transaction_monitoring/cases/comment_update_params"
462
+ require_relative "lithic/models/transaction_monitoring/cases/file_create_params"
463
+ require_relative "lithic/models/transaction_monitoring/cases/file_delete_params"
464
+ require_relative "lithic/models/transaction_monitoring/cases/file_list_params"
465
+ require_relative "lithic/models/transaction_monitoring/cases/file_retrieve_params"
466
+ require_relative "lithic/models/transaction_monitoring/cases/file_status"
467
+ require_relative "lithic/models/transaction_monitoring/cases/upload_constraints"
468
+ require_relative "lithic/models/transaction_monitoring/case_sort_order"
469
+ require_relative "lithic/models/transaction_monitoring/case_status"
470
+ require_relative "lithic/models/transaction_monitoring/case_transaction"
471
+ require_relative "lithic/models/transaction_monitoring/case_update_params"
472
+ require_relative "lithic/models/transaction_monitoring/entity_type"
473
+ require_relative "lithic/models/transaction_monitoring/monitoring_case"
474
+ require_relative "lithic/models/transaction_monitoring/queue"
475
+ require_relative "lithic/models/transaction_monitoring/queue_create_params"
476
+ require_relative "lithic/models/transaction_monitoring/queue_delete_params"
477
+ require_relative "lithic/models/transaction_monitoring/queue_list_params"
478
+ require_relative "lithic/models/transaction_monitoring/queue_retrieve_params"
479
+ require_relative "lithic/models/transaction_monitoring/queue_update_params"
480
+ require_relative "lithic/models/transaction_monitoring/resolution_outcome"
447
481
  require_relative "lithic/models/transaction_retrieve_params"
482
+ require_relative "lithic/models/transaction_route_params"
448
483
  require_relative "lithic/models/transactions/enhanced_commercial_data_retrieve_params"
449
484
  require_relative "lithic/models/transactions/enhanced_commercial_data_retrieve_response"
450
485
  require_relative "lithic/models/transactions/events/enhanced_commercial_data_retrieve_params"
@@ -525,6 +560,11 @@ require_relative "lithic/resources/three_ds/authentication"
525
560
  require_relative "lithic/resources/three_ds/decisioning"
526
561
  require_relative "lithic/resources/tokenization_decisioning"
527
562
  require_relative "lithic/resources/tokenizations"
563
+ require_relative "lithic/resources/transaction_monitoring"
564
+ require_relative "lithic/resources/transaction_monitoring/cases"
565
+ require_relative "lithic/resources/transaction_monitoring/cases/comments"
566
+ require_relative "lithic/resources/transaction_monitoring/cases/files"
567
+ require_relative "lithic/resources/transaction_monitoring/queues"
528
568
  require_relative "lithic/resources/transactions"
529
569
  require_relative "lithic/resources/transactions/enhanced_commercial_data"
530
570
  require_relative "lithic/resources/transactions/events"
@@ -34,6 +34,9 @@ module Lithic
34
34
  sig { returns(Lithic::Resources::AuthRules) }
35
35
  attr_reader :auth_rules
36
36
 
37
+ sig { returns(Lithic::Resources::TransactionMonitoring) }
38
+ attr_reader :transaction_monitoring
39
+
37
40
  sig { returns(Lithic::Resources::AuthStreamEnrollment) }
38
41
  attr_reader :auth_stream_enrollment
39
42
 
@@ -36,7 +36,7 @@ module Lithic
36
36
  # accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
37
37
  # Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
38
38
  # failure to pass KYB/KYC or for risk/compliance reasons. Please contact
39
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was done
39
+ # [support.lithic.com](https://support.lithic.com/) if you believe this was done
40
40
  # by mistake.
41
41
  sig { returns(Lithic::Account::State::TaggedSymbol) }
42
42
  attr_accessor :state
@@ -149,7 +149,7 @@ module Lithic
149
149
  # accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
150
150
  # Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
151
151
  # failure to pass KYB/KYC or for risk/compliance reasons. Please contact
152
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was done
152
+ # [support.lithic.com](https://support.lithic.com/) if you believe this was done
153
153
  # by mistake.
154
154
  state:,
155
155
  account_holder: nil,
@@ -269,7 +269,7 @@ module Lithic
269
269
  # accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
270
270
  # Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
271
271
  # failure to pass KYB/KYC or for risk/compliance reasons. Please contact
272
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was done
272
+ # [support.lithic.com](https://support.lithic.com/) if you believe this was done
273
273
  # by mistake.
274
274
  module State
275
275
  extend Lithic::Internal::Type::Enum
@@ -63,11 +63,7 @@ module Lithic
63
63
  attr_accessor :status
64
64
 
65
65
  # The type of entity
66
- sig do
67
- returns(
68
- Lithic::AccountHolders::AccountHolderEntity::Type::TaggedSymbol
69
- )
70
- end
66
+ sig { returns(Lithic::TransactionMonitoring::EntityType::TaggedSymbol) }
71
67
  attr_accessor :type
72
68
 
73
69
  # Information about an entity associated with an account holder
@@ -84,7 +80,7 @@ module Lithic
84
80
  phone_number: T.nilable(String),
85
81
  status:
86
82
  Lithic::AccountHolders::AccountHolderEntity::Status::OrSymbol,
87
- type: Lithic::AccountHolders::AccountHolderEntity::Type::OrSymbol
83
+ type: Lithic::TransactionMonitoring::EntityType::OrSymbol
88
84
  ).returns(T.attached_class)
89
85
  end
90
86
  def self.new(
@@ -124,8 +120,7 @@ module Lithic
124
120
  phone_number: T.nilable(String),
125
121
  status:
126
122
  Lithic::AccountHolders::AccountHolderEntity::Status::TaggedSymbol,
127
- type:
128
- Lithic::AccountHolders::AccountHolderEntity::Type::TaggedSymbol
123
+ type: Lithic::TransactionMonitoring::EntityType::TaggedSymbol
129
124
  }
130
125
  )
131
126
  end
@@ -258,38 +253,6 @@ module Lithic
258
253
  def self.values
259
254
  end
260
255
  end
261
-
262
- # The type of entity
263
- module Type
264
- extend Lithic::Internal::Type::Enum
265
-
266
- TaggedSymbol =
267
- T.type_alias do
268
- T.all(Symbol, Lithic::AccountHolders::AccountHolderEntity::Type)
269
- end
270
- OrSymbol = T.type_alias { T.any(Symbol, String) }
271
-
272
- BENEFICIAL_OWNER_INDIVIDUAL =
273
- T.let(
274
- :BENEFICIAL_OWNER_INDIVIDUAL,
275
- Lithic::AccountHolders::AccountHolderEntity::Type::TaggedSymbol
276
- )
277
- CONTROL_PERSON =
278
- T.let(
279
- :CONTROL_PERSON,
280
- Lithic::AccountHolders::AccountHolderEntity::Type::TaggedSymbol
281
- )
282
-
283
- sig do
284
- override.returns(
285
- T::Array[
286
- Lithic::AccountHolders::AccountHolderEntity::Type::TaggedSymbol
287
- ]
288
- )
289
- end
290
- def self.values
291
- end
292
- end
293
256
  end
294
257
  end
295
258
  end
@@ -59,9 +59,7 @@ module Lithic
59
59
  attr_accessor :phone_number
60
60
 
61
61
  # The type of entity to create on the account holder
62
- sig do
63
- returns(Lithic::AccountHolders::EntityCreateParams::Type::OrSymbol)
64
- end
62
+ sig { returns(Lithic::TransactionMonitoring::EntityType::OrSymbol) }
65
63
  attr_accessor :type
66
64
 
67
65
  sig do
@@ -75,7 +73,7 @@ module Lithic
75
73
  government_id: String,
76
74
  last_name: String,
77
75
  phone_number: String,
78
- type: Lithic::AccountHolders::EntityCreateParams::Type::OrSymbol,
76
+ type: Lithic::TransactionMonitoring::EntityType::OrSymbol,
79
77
  request_options: Lithic::RequestOptions::OrHash
80
78
  ).returns(T.attached_class)
81
79
  end
@@ -117,7 +115,7 @@ module Lithic
117
115
  government_id: String,
118
116
  last_name: String,
119
117
  phone_number: String,
120
- type: Lithic::AccountHolders::EntityCreateParams::Type::OrSymbol,
118
+ type: Lithic::TransactionMonitoring::EntityType::OrSymbol,
121
119
  request_options: Lithic::RequestOptions
122
120
  }
123
121
  )
@@ -210,38 +208,6 @@ module Lithic
210
208
  def to_hash
211
209
  end
212
210
  end
213
-
214
- # The type of entity to create on the account holder
215
- module Type
216
- extend Lithic::Internal::Type::Enum
217
-
218
- TaggedSymbol =
219
- T.type_alias do
220
- T.all(Symbol, Lithic::AccountHolders::EntityCreateParams::Type)
221
- end
222
- OrSymbol = T.type_alias { T.any(Symbol, String) }
223
-
224
- BENEFICIAL_OWNER_INDIVIDUAL =
225
- T.let(
226
- :BENEFICIAL_OWNER_INDIVIDUAL,
227
- Lithic::AccountHolders::EntityCreateParams::Type::TaggedSymbol
228
- )
229
- CONTROL_PERSON =
230
- T.let(
231
- :CONTROL_PERSON,
232
- Lithic::AccountHolders::EntityCreateParams::Type::TaggedSymbol
233
- )
234
-
235
- sig do
236
- override.returns(
237
- T::Array[
238
- Lithic::AccountHolders::EntityCreateParams::Type::TaggedSymbol
239
- ]
240
- )
241
- end
242
- def self.values
243
- end
244
- end
245
211
  end
246
212
  end
247
213
  end