lithic 0.15.0 → 0.17.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -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/ach_payment_update_action.rb +108 -0
  10. data/lib/lithic/models/auth_rules/auth_rule.rb +18 -12
  11. data/lib/lithic/models/auth_rules/auth_rule_version.rb +5 -3
  12. data/lib/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rb +142 -0
  13. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  14. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  15. data/lib/lithic/models/auth_rules/event_stream.rb +1 -0
  16. data/lib/lithic/models/auth_rules/rule_feature.rb +52 -7
  17. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  18. data/lib/lithic/models/auth_rules/v2_create_params.rb +39 -27
  19. data/lib/lithic/models/auth_rules/v2_draft_params.rb +5 -3
  20. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +426 -1
  21. data/lib/lithic/models/card.rb +1 -1
  22. data/lib/lithic/models/card_authorization.rb +117 -11
  23. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  24. data/lib/lithic/models/payment.rb +13 -1
  25. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  26. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  27. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  28. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  29. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  30. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  31. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  32. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  33. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  34. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  35. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  36. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  37. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  38. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  39. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  44. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  45. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  46. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  47. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  48. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  49. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  50. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  51. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  52. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  53. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  54. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  55. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  56. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  57. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  58. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  59. data/lib/lithic/models/transaction_route_params.rb +29 -0
  60. data/lib/lithic/models.rb +4 -0
  61. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  62. data/lib/lithic/resources/auth_rules/v2.rb +2 -2
  63. data/lib/lithic/resources/cards.rb +2 -2
  64. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  65. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  66. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  67. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  68. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  69. data/lib/lithic/resources/transactions.rb +25 -0
  70. data/lib/lithic/version.rb +1 -1
  71. data/lib/lithic.rb +42 -0
  72. data/rbi/lithic/client.rbi +3 -0
  73. data/rbi/lithic/models/account.rbi +3 -3
  74. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  75. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  76. data/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi +237 -0
  77. data/rbi/lithic/models/auth_rules/auth_rule.rbi +16 -9
  78. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +2 -0
  79. data/rbi/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rbi +298 -0
  80. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  81. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  82. data/rbi/lithic/models/auth_rules/event_stream.rbi +5 -0
  83. data/rbi/lithic/models/auth_rules/rule_feature.rbi +77 -6
  84. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +6 -0
  85. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +48 -27
  86. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +4 -0
  87. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +826 -1
  88. data/rbi/lithic/models/card.rbi +2 -2
  89. data/rbi/lithic/models/card_authorization.rbi +246 -17
  90. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  91. data/rbi/lithic/models/payment.rbi +13 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  94. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  95. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  96. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  97. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  98. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  99. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  100. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  101. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  102. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  103. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  104. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  105. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  106. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  107. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  108. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  109. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  110. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  111. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  112. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  113. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  114. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  115. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  116. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  117. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  118. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  119. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  120. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  121. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  122. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  123. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  124. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  125. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  126. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  127. data/rbi/lithic/models.rbi +4 -0
  128. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  129. data/rbi/lithic/resources/auth_rules/v2.rbi +1 -0
  130. data/rbi/lithic/resources/cards.rbi +2 -2
  131. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  132. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  133. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  134. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  135. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  136. data/rbi/lithic/resources/transactions.rbi +18 -0
  137. data/sig/lithic/client.rbs +2 -0
  138. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  139. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  140. data/sig/lithic/models/auth_rules/ach_payment_update_action.rbs +99 -0
  141. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  142. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -0
  143. data/sig/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rbs +81 -0
  144. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  145. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  146. data/sig/lithic/models/auth_rules/event_stream.rbs +2 -0
  147. data/sig/lithic/models/auth_rules/rule_feature.rbs +31 -0
  148. data/sig/lithic/models/auth_rules/v2_create_params.rbs +3 -0
  149. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  150. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +355 -0
  151. data/sig/lithic/models/card_authorization.rbs +84 -10
  152. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  153. data/sig/lithic/models/payment.rbs +7 -0
  154. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  155. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  156. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  157. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  158. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  159. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  160. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  161. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  162. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  163. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  164. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  165. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  166. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  167. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  168. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  169. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  170. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  171. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  172. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  173. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  174. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  175. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  176. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  177. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  178. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  179. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  180. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  181. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  182. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  183. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  184. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  185. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  186. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  187. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  188. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  189. data/sig/lithic/models.rbs +4 -0
  190. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  191. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  192. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  193. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  194. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  195. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  196. data/sig/lithic/resources/transactions.rbs +6 -0
  197. metadata +128 -2
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ class Cases
7
+ class Files
8
+ # Creates a file record and returns a presigned URL for uploading the file to the
9
+ # case.
10
+ #
11
+ # @overload create(case_token, name:, request_options: {})
12
+ #
13
+ # @param case_token [String] Globally unique identifier for the case.
14
+ #
15
+ # @param name [String] Name of the file to upload
16
+ #
17
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Lithic::Models::TransactionMonitoring::Cases::CaseFile]
20
+ #
21
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileCreateParams
22
+ def create(case_token, params)
23
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileCreateParams.dump_request(params)
24
+ @client.request(
25
+ method: :post,
26
+ path: ["v1/transaction_monitoring/cases/%1$s/files", case_token],
27
+ body: parsed,
28
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
29
+ options: options
30
+ )
31
+ end
32
+
33
+ # Retrieves a single file attached to a case, including a presigned download URL
34
+ # when the file is ready.
35
+ #
36
+ # @overload retrieve(file_token, case_token:, request_options: {})
37
+ #
38
+ # @param file_token [String] Globally unique identifier for the file.
39
+ #
40
+ # @param case_token [String] Globally unique identifier for the case.
41
+ #
42
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [Lithic::Models::TransactionMonitoring::Cases::CaseFile]
45
+ #
46
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileRetrieveParams
47
+ def retrieve(file_token, params)
48
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileRetrieveParams.dump_request(params)
49
+ case_token =
50
+ parsed.delete(:case_token) do
51
+ raise ArgumentError.new("missing required path argument #{_1}")
52
+ end
53
+ @client.request(
54
+ method: :get,
55
+ path: ["v1/transaction_monitoring/cases/%1$s/files/%2$s", case_token, file_token],
56
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Some parameter documentations has been truncated, see
62
+ # {Lithic::Models::TransactionMonitoring::Cases::FileListParams} for more details.
63
+ #
64
+ # Lists the files attached to a case.
65
+ #
66
+ # @overload list(case_token, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
67
+ #
68
+ # @param case_token [String] Globally unique identifier for the case.
69
+ #
70
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
71
+ #
72
+ # @param page_size [Integer] Page size (for pagination).
73
+ #
74
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
75
+ #
76
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
77
+ #
78
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::Cases::CaseFile>]
79
+ #
80
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileListParams
81
+ def list(case_token, params = {})
82
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileListParams.dump_request(params)
83
+ query = Lithic::Internal::Util.encode_query_params(parsed)
84
+ @client.request(
85
+ method: :get,
86
+ path: ["v1/transaction_monitoring/cases/%1$s/files", case_token],
87
+ query: query,
88
+ page: Lithic::Internal::CursorPage,
89
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # Deletes a file from a case.
95
+ #
96
+ # @overload delete(file_token, case_token:, request_options: {})
97
+ #
98
+ # @param file_token [String] Globally unique identifier for the file.
99
+ #
100
+ # @param case_token [String] Globally unique identifier for the case.
101
+ #
102
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
103
+ #
104
+ # @return [nil]
105
+ #
106
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileDeleteParams
107
+ def delete(file_token, params)
108
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileDeleteParams.dump_request(params)
109
+ case_token =
110
+ parsed.delete(:case_token) do
111
+ raise ArgumentError.new("missing required path argument #{_1}")
112
+ end
113
+ @client.request(
114
+ method: :delete,
115
+ path: ["v1/transaction_monitoring/cases/%1$s/files/%2$s", case_token, file_token],
116
+ model: NilClass,
117
+ options: options
118
+ )
119
+ end
120
+
121
+ # @api private
122
+ #
123
+ # @param client [Lithic::Client]
124
+ def initialize(client:)
125
+ @client = client
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -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.17.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -117,6 +117,7 @@ require_relative "lithic/models/account_update_params"
117
117
  require_relative "lithic/models/address"
118
118
  require_relative "lithic/models/address_update"
119
119
  require_relative "lithic/models/api_status"
120
+ require_relative "lithic/models/auth_rules/ach_payment_update_action"
120
121
  require_relative "lithic/models/auth_rules/auth_rule"
121
122
  require_relative "lithic/models/auth_rules/auth_rule_condition"
122
123
  require_relative "lithic/models/auth_rules/auth_rule_version"
@@ -124,6 +125,7 @@ require_relative "lithic/models/auth_rules/backtest_stats"
124
125
  require_relative "lithic/models/auth_rules/card_transaction_update_action"
125
126
  require_relative "lithic/models/auth_rules/conditional_3ds_action_parameters"
126
127
  require_relative "lithic/models/auth_rules/conditional_ach_action_parameters"
128
+ require_relative "lithic/models/auth_rules/conditional_ach_payment_update_action_parameters"
127
129
  require_relative "lithic/models/auth_rules/conditional_attribute"
128
130
  require_relative "lithic/models/auth_rules/conditional_authorization_action_parameters"
129
131
  require_relative "lithic/models/auth_rules/conditional_authorization_adjustment_parameters"
@@ -444,7 +446,42 @@ require_relative "lithic/models/tokenization_updated_webhook_event"
444
446
  require_relative "lithic/models/token_metadata"
445
447
  require_relative "lithic/models/transaction_expire_authorization_params"
446
448
  require_relative "lithic/models/transaction_list_params"
449
+ require_relative "lithic/models/transaction_monitoring/case_activity_entry"
450
+ require_relative "lithic/models/transaction_monitoring/case_activity_type"
451
+ require_relative "lithic/models/transaction_monitoring/case_card"
452
+ require_relative "lithic/models/transaction_monitoring/case_entity"
453
+ require_relative "lithic/models/transaction_monitoring/case_list_activity_params"
454
+ require_relative "lithic/models/transaction_monitoring/case_list_params"
455
+ require_relative "lithic/models/transaction_monitoring/case_list_transactions_params"
456
+ require_relative "lithic/models/transaction_monitoring/case_priority"
457
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_cards_params"
458
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_cards_response"
459
+ require_relative "lithic/models/transaction_monitoring/case_retrieve_params"
460
+ require_relative "lithic/models/transaction_monitoring/cases/case_file"
461
+ require_relative "lithic/models/transaction_monitoring/cases/comment_create_params"
462
+ require_relative "lithic/models/transaction_monitoring/cases/comment_delete_params"
463
+ require_relative "lithic/models/transaction_monitoring/cases/comment_update_params"
464
+ require_relative "lithic/models/transaction_monitoring/cases/file_create_params"
465
+ require_relative "lithic/models/transaction_monitoring/cases/file_delete_params"
466
+ require_relative "lithic/models/transaction_monitoring/cases/file_list_params"
467
+ require_relative "lithic/models/transaction_monitoring/cases/file_retrieve_params"
468
+ require_relative "lithic/models/transaction_monitoring/cases/file_status"
469
+ require_relative "lithic/models/transaction_monitoring/cases/upload_constraints"
470
+ require_relative "lithic/models/transaction_monitoring/case_sort_order"
471
+ require_relative "lithic/models/transaction_monitoring/case_status"
472
+ require_relative "lithic/models/transaction_monitoring/case_transaction"
473
+ require_relative "lithic/models/transaction_monitoring/case_update_params"
474
+ require_relative "lithic/models/transaction_monitoring/entity_type"
475
+ require_relative "lithic/models/transaction_monitoring/monitoring_case"
476
+ require_relative "lithic/models/transaction_monitoring/queue"
477
+ require_relative "lithic/models/transaction_monitoring/queue_create_params"
478
+ require_relative "lithic/models/transaction_monitoring/queue_delete_params"
479
+ require_relative "lithic/models/transaction_monitoring/queue_list_params"
480
+ require_relative "lithic/models/transaction_monitoring/queue_retrieve_params"
481
+ require_relative "lithic/models/transaction_monitoring/queue_update_params"
482
+ require_relative "lithic/models/transaction_monitoring/resolution_outcome"
447
483
  require_relative "lithic/models/transaction_retrieve_params"
484
+ require_relative "lithic/models/transaction_route_params"
448
485
  require_relative "lithic/models/transactions/enhanced_commercial_data_retrieve_params"
449
486
  require_relative "lithic/models/transactions/enhanced_commercial_data_retrieve_response"
450
487
  require_relative "lithic/models/transactions/events/enhanced_commercial_data_retrieve_params"
@@ -525,6 +562,11 @@ require_relative "lithic/resources/three_ds/authentication"
525
562
  require_relative "lithic/resources/three_ds/decisioning"
526
563
  require_relative "lithic/resources/tokenization_decisioning"
527
564
  require_relative "lithic/resources/tokenizations"
565
+ require_relative "lithic/resources/transaction_monitoring"
566
+ require_relative "lithic/resources/transaction_monitoring/cases"
567
+ require_relative "lithic/resources/transaction_monitoring/cases/comments"
568
+ require_relative "lithic/resources/transaction_monitoring/cases/files"
569
+ require_relative "lithic/resources/transaction_monitoring/queues"
528
570
  require_relative "lithic/resources/transactions"
529
571
  require_relative "lithic/resources/transactions/enhanced_commercial_data"
530
572
  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