didit-sdk 1.0.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 (234) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +25 -0
  3. data/LICENSE +21 -0
  4. data/README.md +277 -0
  5. data/lib/didit/authentication/base64_url.rb +34 -0
  6. data/lib/didit/authentication/cache.rb +201 -0
  7. data/lib/didit/authentication/http.rb +150 -0
  8. data/lib/didit/authentication/issuer.rb +115 -0
  9. data/lib/didit/authentication/jws.rb +231 -0
  10. data/lib/didit/authentication/key_set.rb +89 -0
  11. data/lib/didit/authentication/pkce.rb +64 -0
  12. data/lib/didit/authentication/types.rb +175 -0
  13. data/lib/didit/authentication.rb +546 -0
  14. data/lib/didit/client.rb +211 -0
  15. data/lib/didit/errors.rb +153 -0
  16. data/lib/didit/file_part.rb +85 -0
  17. data/lib/didit/internal/config.rb +94 -0
  18. data/lib/didit/internal/errors.rb +83 -0
  19. data/lib/didit/internal/log.rb +41 -0
  20. data/lib/didit/internal/multipart.rb +60 -0
  21. data/lib/didit/internal/request.rb +322 -0
  22. data/lib/didit/internal/transport.rb +198 -0
  23. data/lib/didit/internal/util.rb +76 -0
  24. data/lib/didit/internal.rb +15 -0
  25. data/lib/didit/model.rb +199 -0
  26. data/lib/didit/page.rb +130 -0
  27. data/lib/didit/raw_response.rb +57 -0
  28. data/lib/didit/resource.rb +15 -0
  29. data/lib/didit/resources/account.rb +309 -0
  30. data/lib/didit/resources/address_validation.rb +73 -0
  31. data/lib/didit/resources/age_estimation.rb +110 -0
  32. data/lib/didit/resources/aml.rb +166 -0
  33. data/lib/didit/resources/aml_monitoring.rb +30 -0
  34. data/lib/didit/resources/analytics.rb +87 -0
  35. data/lib/didit/resources/bank.rb +65 -0
  36. data/lib/didit/resources/billing.rb +61 -0
  37. data/lib/didit/resources/biometric_templates.rb +234 -0
  38. data/lib/didit/resources/blocklist.rb +130 -0
  39. data/lib/didit/resources/business_sessions.rb +29 -0
  40. data/lib/didit/resources/businesses.rb +471 -0
  41. data/lib/didit/resources/cases.rb +2116 -0
  42. data/lib/didit/resources/customization.rb +153 -0
  43. data/lib/didit/resources/database_validation.rb +327 -0
  44. data/lib/didit/resources/document_ai.rb +145 -0
  45. data/lib/didit/resources/email.rb +254 -0
  46. data/lib/didit/resources/face_match.rb +103 -0
  47. data/lib/didit/resources/face_search.rb +103 -0
  48. data/lib/didit/resources/fraud_checks.rb +130 -0
  49. data/lib/didit/resources/id_verification.rb +163 -0
  50. data/lib/didit/resources/id_wallets.rb +1468 -0
  51. data/lib/didit/resources/investigator.rb +419 -0
  52. data/lib/didit/resources/ip.rb +68 -0
  53. data/lib/didit/resources/kyb.rb +256 -0
  54. data/lib/didit/resources/lists.rb +332 -0
  55. data/lib/didit/resources/monitoring_events.rb +466 -0
  56. data/lib/didit/resources/networks.rb +427 -0
  57. data/lib/didit/resources/passive_liveness.rb +103 -0
  58. data/lib/didit/resources/phone.rb +271 -0
  59. data/lib/didit/resources/pricing.rb +40 -0
  60. data/lib/didit/resources/proof_of_address.rb +167 -0
  61. data/lib/didit/resources/questionnaires.rb +170 -0
  62. data/lib/didit/resources/regulatory_reports.rb +314 -0
  63. data/lib/didit/resources/report_templates.rb +146 -0
  64. data/lib/didit/resources/sessions.rb +2820 -0
  65. data/lib/didit/resources/transactions.rb +981 -0
  66. data/lib/didit/resources/travel_rule.rb +1202 -0
  67. data/lib/didit/resources/users.rb +521 -0
  68. data/lib/didit/resources/wallet_screening.rb +190 -0
  69. data/lib/didit/resources/webhooks.rb +396 -0
  70. data/lib/didit/resources/workflows.rb +214 -0
  71. data/lib/didit/resources.rb +263 -0
  72. data/lib/didit/types/account.rb +11 -0
  73. data/lib/didit/types/account_components.rb +105 -0
  74. data/lib/didit/types/address_validation.rb +8 -0
  75. data/lib/didit/types/age_estimation.rb +89 -0
  76. data/lib/didit/types/aml.rb +193 -0
  77. data/lib/didit/types/aml_monitoring.rb +73 -0
  78. data/lib/didit/types/analytics.rb +62 -0
  79. data/lib/didit/types/bank.rb +8 -0
  80. data/lib/didit/types/billing.rb +18 -0
  81. data/lib/didit/types/biometric_templates.rb +292 -0
  82. data/lib/didit/types/blocklist.rb +31 -0
  83. data/lib/didit/types/businesses.rb +45 -0
  84. data/lib/didit/types/cases.rb +368 -0
  85. data/lib/didit/types/components.rb +12206 -0
  86. data/lib/didit/types/customization.rb +8 -0
  87. data/lib/didit/types/database_validation.rb +177 -0
  88. data/lib/didit/types/document_ai.rb +135 -0
  89. data/lib/didit/types/email.rb +116 -0
  90. data/lib/didit/types/face_match.rb +93 -0
  91. data/lib/didit/types/face_search.rb +129 -0
  92. data/lib/didit/types/fraud_checks.rb +8 -0
  93. data/lib/didit/types/id_verification.rb +231 -0
  94. data/lib/didit/types/id_wallets.rb +8 -0
  95. data/lib/didit/types/investigator.rb +221 -0
  96. data/lib/didit/types/ip.rb +8 -0
  97. data/lib/didit/types/kyb.rb +1391 -0
  98. data/lib/didit/types/lists.rb +111 -0
  99. data/lib/didit/types/monitoring_events.rb +235 -0
  100. data/lib/didit/types/networks.rb +120 -0
  101. data/lib/didit/types/passive_liveness.rb +95 -0
  102. data/lib/didit/types/phone.rb +69 -0
  103. data/lib/didit/types/proof_of_address.rb +166 -0
  104. data/lib/didit/types/questionnaires.rb +29 -0
  105. data/lib/didit/types/regulatory_reports.rb +100 -0
  106. data/lib/didit/types/report_templates.rb +41 -0
  107. data/lib/didit/types/sessions.rb +1441 -0
  108. data/lib/didit/types/transactions.rb +245 -0
  109. data/lib/didit/types/travel_rule.rb +168 -0
  110. data/lib/didit/types/users.rb +180 -0
  111. data/lib/didit/types/wallet_screening.rb +49 -0
  112. data/lib/didit/types/webhooks.rb +355 -0
  113. data/lib/didit/types/workflows.rb +32 -0
  114. data/lib/didit/types.rb +1681 -0
  115. data/lib/didit/version.rb +5 -0
  116. data/lib/didit/webhooks/canonical_json.rb +187 -0
  117. data/lib/didit/webhooks/client_methods.rb +23 -0
  118. data/lib/didit/webhooks/events.rb +221 -0
  119. data/lib/didit/webhooks/headers.rb +83 -0
  120. data/lib/didit/webhooks/verifier.rb +260 -0
  121. data/lib/didit/webhooks.rb +99 -0
  122. data/lib/didit-sdk.rb +4 -0
  123. data/lib/didit.rb +31 -0
  124. data/sig/didit/authentication/base64_url.rbs +10 -0
  125. data/sig/didit/authentication/cache.rbs +60 -0
  126. data/sig/didit/authentication/http.rbs +37 -0
  127. data/sig/didit/authentication/issuer.rbs +17 -0
  128. data/sig/didit/authentication/jws.rbs +41 -0
  129. data/sig/didit/authentication/jwt.rbs +14 -0
  130. data/sig/didit/authentication/key_set.rbs +25 -0
  131. data/sig/didit/authentication/pkce.rbs +20 -0
  132. data/sig/didit/authentication/types.rbs +114 -0
  133. data/sig/didit/authentication.rbs +81 -0
  134. data/sig/didit/client.rbs +61 -0
  135. data/sig/didit/errors.rbs +80 -0
  136. data/sig/didit/file_part.rbs +19 -0
  137. data/sig/didit/internal.rbs +199 -0
  138. data/sig/didit/model.rbs +42 -0
  139. data/sig/didit/page.rbs +34 -0
  140. data/sig/didit/raw_response.rbs +20 -0
  141. data/sig/didit/resource.rbs +8 -0
  142. data/sig/didit/resources/account.rbs +23 -0
  143. data/sig/didit/resources/address_validation.rbs +9 -0
  144. data/sig/didit/resources/age_estimation.rbs +9 -0
  145. data/sig/didit/resources/aml.rbs +10 -0
  146. data/sig/didit/resources/aml_monitoring.rbs +9 -0
  147. data/sig/didit/resources/analytics.rbs +9 -0
  148. data/sig/didit/resources/bank.rbs +9 -0
  149. data/sig/didit/resources/billing.rbs +10 -0
  150. data/sig/didit/resources/biometric_templates.rbs +13 -0
  151. data/sig/didit/resources/blocklist.rbs +11 -0
  152. data/sig/didit/resources/business_sessions.rbs +9 -0
  153. data/sig/didit/resources/businesses.rbs +22 -0
  154. data/sig/didit/resources/cases.rbs +103 -0
  155. data/sig/didit/resources/customization.rbs +10 -0
  156. data/sig/didit/resources/database_validation.rbs +9 -0
  157. data/sig/didit/resources/document_ai.rbs +9 -0
  158. data/sig/didit/resources/email.rbs +11 -0
  159. data/sig/didit/resources/face_match.rbs +9 -0
  160. data/sig/didit/resources/face_search.rbs +9 -0
  161. data/sig/didit/resources/fraud_checks.rbs +11 -0
  162. data/sig/didit/resources/id_verification.rbs +9 -0
  163. data/sig/didit/resources/id_wallets.rbs +37 -0
  164. data/sig/didit/resources/investigator.rbs +23 -0
  165. data/sig/didit/resources/ip.rbs +9 -0
  166. data/sig/didit/resources/kyb.rbs +12 -0
  167. data/sig/didit/resources/lists.rbs +20 -0
  168. data/sig/didit/resources/monitoring_events.rbs +16 -0
  169. data/sig/didit/resources/networks.rbs +25 -0
  170. data/sig/didit/resources/passive_liveness.rbs +9 -0
  171. data/sig/didit/resources/phone.rbs +11 -0
  172. data/sig/didit/resources/pricing.rbs +9 -0
  173. data/sig/didit/resources/proof_of_address.rbs +9 -0
  174. data/sig/didit/resources/questionnaires.rbs +13 -0
  175. data/sig/didit/resources/regulatory_reports.rbs +16 -0
  176. data/sig/didit/resources/report_templates.rbs +13 -0
  177. data/sig/didit/resources/sessions.rbs +78 -0
  178. data/sig/didit/resources/transactions.rbs +43 -0
  179. data/sig/didit/resources/travel_rule.rbs +62 -0
  180. data/sig/didit/resources/users.rbs +21 -0
  181. data/sig/didit/resources/wallet_screening.rbs +11 -0
  182. data/sig/didit/resources/webhooks.rbs +23 -0
  183. data/sig/didit/resources/workflows.rbs +13 -0
  184. data/sig/didit/resources.rbs +50 -0
  185. data/sig/didit/types/account.rbs +22 -0
  186. data/sig/didit/types/account_components.rbs +94 -0
  187. data/sig/didit/types/address_validation.rbs +7 -0
  188. data/sig/didit/types/age_estimation.rbs +80 -0
  189. data/sig/didit/types/aml.rbs +174 -0
  190. data/sig/didit/types/aml_monitoring.rbs +67 -0
  191. data/sig/didit/types/analytics.rbs +57 -0
  192. data/sig/didit/types/bank.rbs +9 -0
  193. data/sig/didit/types/billing.rbs +19 -0
  194. data/sig/didit/types/biometric_templates.rbs +268 -0
  195. data/sig/didit/types/blocklist.rbs +33 -0
  196. data/sig/didit/types/businesses.rbs +54 -0
  197. data/sig/didit/types/cases.rbs +414 -0
  198. data/sig/didit/types/components.rbs +10920 -0
  199. data/sig/didit/types/customization.rbs +7 -0
  200. data/sig/didit/types/database_validation.rbs +152 -0
  201. data/sig/didit/types/document_ai.rbs +123 -0
  202. data/sig/didit/types/email.rbs +112 -0
  203. data/sig/didit/types/face_match.rbs +86 -0
  204. data/sig/didit/types/face_search.rbs +112 -0
  205. data/sig/didit/types/fraud_checks.rbs +9 -0
  206. data/sig/didit/types/id_verification.rbs +196 -0
  207. data/sig/didit/types/id_wallets.rbs +55 -0
  208. data/sig/didit/types/investigator.rbs +212 -0
  209. data/sig/didit/types/ip.rbs +7 -0
  210. data/sig/didit/types/kyb.rbs +1254 -0
  211. data/sig/didit/types/lists.rbs +106 -0
  212. data/sig/didit/types/monitoring_events.rbs +234 -0
  213. data/sig/didit/types/networks.rbs +113 -0
  214. data/sig/didit/types/passive_liveness.rbs +87 -0
  215. data/sig/didit/types/phone.rbs +65 -0
  216. data/sig/didit/types/proof_of_address.rbs +144 -0
  217. data/sig/didit/types/questionnaires.rbs +30 -0
  218. data/sig/didit/types/regulatory_reports.rbs +101 -0
  219. data/sig/didit/types/report_templates.rbs +42 -0
  220. data/sig/didit/types/sessions.rbs +1349 -0
  221. data/sig/didit/types/transactions.rbs +273 -0
  222. data/sig/didit/types/travel_rule.rbs +188 -0
  223. data/sig/didit/types/users.rbs +181 -0
  224. data/sig/didit/types/wallet_screening.rbs +40 -0
  225. data/sig/didit/types/webhooks.rbs +311 -0
  226. data/sig/didit/types/workflows.rbs +30 -0
  227. data/sig/didit/webhooks/canonical_json.rbs +25 -0
  228. data/sig/didit/webhooks/client_methods.rbs +11 -0
  229. data/sig/didit/webhooks/events.rbs +125 -0
  230. data/sig/didit/webhooks/headers.rbs +22 -0
  231. data/sig/didit/webhooks/verifier.rbs +54 -0
  232. data/sig/didit/webhooks.rbs +37 -0
  233. data/sig/didit.rbs +20 -0
  234. metadata +300 -0
@@ -0,0 +1,245 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # Category of the transaction. CamelCase aliases (`travelRule`, `userPlatformEvent`, `gamblingBet`, …) are also
7
+ # accepted; the stored/echoed value is camelCase for multi-word categories.
8
+ module TransactionsCreateParamsTransactionCategory
9
+ FINANCE = "finance"
10
+ KYC = "kyc"
11
+ TRAVEL_RULE = "travel_rule"
12
+ USER_EVENT = "user_event"
13
+ AUDIT_TRAIL_EVENT = "audit_trail_event"
14
+ GAMBLING_BET = "gambling_bet"
15
+ GAMBLING_LIMIT_CHANGE = "gambling_limit_change"
16
+ GAMBLING_BONUS_CHANGE = "gambling_bonus_change"
17
+ TRAVEL_RULE_ = "travelRule"
18
+
19
+ VALUES = [FINANCE, KYC, TRAVEL_RULE, USER_EVENT, AUDIT_TRAIL_EVENT, GAMBLING_BET, GAMBLING_LIMIT_CHANGE, GAMBLING_BONUS_CHANGE, TRAVEL_RULE_].freeze
20
+ end
21
+
22
+ # Direction of the transaction relative to the subject. Case-insensitive; `in`/`out` are accepted as aliases.
23
+ # Echoed back uppercase (`INBOUND`/`OUTBOUND`).
24
+ module TransactionsCreateParamsTransactionDetailsDirection
25
+ INBOUND = "inbound"
26
+ OUTBOUND = "outbound"
27
+ IN = "in"
28
+ OUT = "out"
29
+
30
+ VALUES = [INBOUND, OUTBOUND, IN, OUT].freeze
31
+ end
32
+
33
+ # Direction relative to the subject. Stored uppercase regardless of the casing submitted.
34
+ module TransactionsListResponseResultsDirection
35
+ INBOUND = "INBOUND"
36
+ OUTBOUND = "OUTBOUND"
37
+
38
+ VALUES = [INBOUND, OUTBOUND].freeze
39
+ end
40
+
41
+ # Categorical risk severity set by rules/providers (`UNKNOWN`, `LOW`, `MEDIUM`, `HIGH`, `CRITICAL`). `null` until
42
+ # something sets it.
43
+ module TransactionsListResponseResultsSeverity
44
+ UNKNOWN = "UNKNOWN"
45
+ LOW = "LOW"
46
+ MEDIUM = "MEDIUM"
47
+ HIGH = "HIGH"
48
+ CRITICAL = "CRITICAL"
49
+
50
+ VALUES = [UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL].freeze
51
+ end
52
+
53
+ # Current monitoring verdict.
54
+ module TransactionsListResponseResultsStatus
55
+ APPROVED = "APPROVED"
56
+ IN_REVIEW = "IN_REVIEW"
57
+ DECLINED = "DECLINED"
58
+ AWAITING_USER = "AWAITING_USER"
59
+
60
+ VALUES = [APPROVED, IN_REVIEW, DECLINED, AWAITING_USER].freeze
61
+ end
62
+
63
+ # Whether the tag is a Didit preset or a custom tag.
64
+ module TransactionsListResponseResultsTagsSource
65
+ DIDIT = "didit"
66
+ CUSTOM = "custom"
67
+
68
+ VALUES = [DIDIT, CUSTOM].freeze
69
+ end
70
+
71
+ # Known values of an open enum: the API may send others.
72
+ module TransactionsRulesBacktestParamsEvaluationMode
73
+ ALL = "ALL"
74
+ ANY = "ANY"
75
+
76
+ VALUES = [ALL, ANY].freeze
77
+ end
78
+
79
+ # Whether every condition must match (ALL) or at least one (ANY). Ignored when conditions use group_index.
80
+ module TransactionsRulesCreateParamsEvaluationMode
81
+ ALL = "ALL"
82
+ ANY = "ANY"
83
+
84
+ VALUES = [ALL, ANY].freeze
85
+ end
86
+
87
+ # ACTIVE evaluates live. TEST evaluates and records rule runs but never touches score or status - the recommended
88
+ # starting mode. DISABLED is skipped.
89
+ module TransactionsRulesCreateParamsMode
90
+ ACTIVE = "ACTIVE"
91
+ DISABLED = "DISABLED"
92
+ TEST = "TEST"
93
+
94
+ VALUES = [ACTIVE, DISABLED, TEST].freeze
95
+ end
96
+
97
+ # Known values of an open enum: the API may send others.
98
+ module TransactionsRulesListParamsMode
99
+ ACTIVE = "ACTIVE"
100
+ DISABLED = "DISABLED"
101
+ TEST = "TEST"
102
+
103
+ VALUES = [ACTIVE, DISABLED, TEST].freeze
104
+ end
105
+
106
+ # Known values of an open enum: the API may send others.
107
+ module TransactionsRulesListParamsSource
108
+ PRESET = "PRESET"
109
+ CUSTOM = "CUSTOM"
110
+
111
+ VALUES = [PRESET, CUSTOM].freeze
112
+ end
113
+
114
+ # Whether every condition must match (ALL) or at least one (ANY). Ignored when conditions use group_index.
115
+ module TransactionsRulesUpdateParamsEvaluationMode
116
+ ALL = "ALL"
117
+ ANY = "ANY"
118
+
119
+ VALUES = [ALL, ANY].freeze
120
+ end
121
+
122
+ # ACTIVE evaluates live. TEST evaluates and records rule runs but never touches score or status - the recommended
123
+ # starting mode. DISABLED is skipped.
124
+ module TransactionsRulesUpdateParamsMode
125
+ ACTIVE = "ACTIVE"
126
+ DISABLED = "DISABLED"
127
+ TEST = "TEST"
128
+
129
+ VALUES = [ACTIVE, DISABLED, TEST].freeze
130
+ end
131
+
132
+ # Known values of an open enum: the API may send others.
133
+ module TransactionsTravelRuleCreateMessageParamsKind
134
+ MESSAGE = "MESSAGE"
135
+ DOCUMENT_REQUEST = "DOCUMENT_REQUEST"
136
+
137
+ VALUES = [MESSAGE, DOCUMENT_REQUEST].freeze
138
+ end
139
+
140
+ # What the Didit Test VASP declares the beneficiary to be. `accept` declares the holder's own name;
141
+ # `name_mismatch` declares a name no holder agrees with. The decision itself is always yours.
142
+ module TransactionsTravelRuleTriggerTestVaspInboundParamsScenario
143
+ ACCEPT = "accept"
144
+ NAME_MISMATCH = "name_mismatch"
145
+
146
+ VALUES = [ACCEPT, NAME_MISMATCH].freeze
147
+ end
148
+
149
+ # "cancel" cancels a non-terminal transfer. "resend" re-runs routing for an outbound transfer stuck in
150
+ # COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE, or NOT_ENOUGH_COUNTERPARTY_DATA.
151
+ # "update_compliance_email" replaces the compliance email the request goes to, on an outbound transfer in one of
152
+ # those three statuses; send "resend" afterwards. "update_originator_wallet" records the wallet the funds actually
153
+ # left from (`wallet_address`, `memo`). "beneficiary_vasp" names the counterparty VASP yourself (requires
154
+ # `beneficiary_vasp`) for an outbound transfer in one of those statuses: it is routed to that VASP and sent again.
155
+ module TransactionsTravelRuleUpdateTransferParamsAction
156
+ CANCEL = "cancel"
157
+ RESEND = "resend"
158
+ UPDATE_COMPLIANCE_EMAIL = "update_compliance_email"
159
+ UPDATE_ORIGINATOR_WALLET = "update_originator_wallet"
160
+ BENEFICIARY_VASP = "beneficiary_vasp"
161
+
162
+ VALUES = [CANCEL, RESEND, UPDATE_COMPLIANCE_EMAIL, UPDATE_ORIGINATOR_WALLET, BENEFICIARY_VASP].freeze
163
+ end
164
+
165
+ class TransactionsCreateSdkTokenResponse < Didit::Model
166
+ field :sdk_token, "sdk_token", :string
167
+ field :expires_at, "expires_at", :datetime
168
+ end
169
+
170
+ class TransactionsListRelatedResponse < Didit::Model
171
+ field :count, "count", :integer
172
+ field :next, "next", :string
173
+ field :previous, "previous", :string
174
+ field :results, "results", [:array, "TransactionSummary"]
175
+ end
176
+
177
+ class TransactionsListResponse < Didit::Model
178
+ field :count, "count", :integer
179
+ field :next, "next", :string
180
+ field :previous, "previous", :string
181
+ field :total_transactions, "total_transactions", :integer
182
+ field :results, "results", [:array, "TransactionsListResponseResults"]
183
+ end
184
+
185
+ class TransactionsListResponseResults < Didit::Model
186
+ field :uuid, "uuid", :string
187
+ field :transaction_number, "transaction_number", :integer
188
+ field :txn_id, "txn_id", :string
189
+ field :transaction_type, "transaction_type", :string
190
+ field :action_type, "action_type", :string
191
+ field :status, "status", :string
192
+ field :direction, "direction", :string
193
+ field :amount, "amount", :string
194
+ field :currency, "currency", :string
195
+ field :preferred_currency_amount, "preferred_currency_amount", :string
196
+ field :preferred_currency_code, "preferred_currency_code", :string
197
+ field :payment_details, "payment_details", :string
198
+ field :score, "score", :integer
199
+ field :severity, "severity", :string
200
+ field :subject_name, "subject_name", :string
201
+ field :subject_vendor_data, "subject_vendor_data", :string
202
+ field :subject_country, "subject_country", :string
203
+ field :counterparty_name, "counterparty_name", :string
204
+ field :counterparty_vendor_data, "counterparty_vendor_data", :string
205
+ field :counterparty_country, "counterparty_country", :string
206
+ field :tags, "tags", [:array, "TransactionsListResponseResultsTags"]
207
+ field :txn_date, "txn_date", :datetime
208
+ field :created_at, "created_at", :datetime
209
+ field :decision_reason_code, "decision_reason_code", :string
210
+ field :decision_reason_label, "decision_reason_label", :string
211
+ field :assigned_to_name, "assigned_to_name", :string
212
+ field :travel_rule_status, "travel_rule_status", :string
213
+ field :travel_rule, "travel_rule", "TransactionTravelRule"
214
+ end
215
+
216
+ class TransactionsListResponseResultsTags < Didit::Model
217
+ field :uuid, "uuid", :string
218
+ field :name, "name", :string
219
+ field :color, "color", :string
220
+ field :description, "description", :string
221
+ field :source, "source", :string
222
+ end
223
+
224
+ class TransactionsNotesListResponse < Didit::Model
225
+ field :count, "count", :integer
226
+ field :next, "next", :string
227
+ field :previous, "previous", :string
228
+ field :results, "results", [:array, "TransactionNote"]
229
+ end
230
+
231
+ class TransactionsRulesListLibraryResponse < Didit::Model
232
+ field :count, "count", :integer
233
+ field :next, "next", :string
234
+ field :previous, "previous", :string
235
+ field :results, "results", [:array, "TransactionRuleLibraryEntry"]
236
+ end
237
+
238
+ class TransactionsRulesListResponse < Didit::Model
239
+ field :count, "count", :integer
240
+ field :next, "next", :string
241
+ field :previous, "previous", :string
242
+ field :results, "results", [:array, "TransactionRuleDetail"]
243
+ end
244
+ end
245
+ end
@@ -0,0 +1,168 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # Known values of an open enum: the API may send others.
7
+ module TravelRuleListVaspsParamsKind
8
+ DIRECTORY = "directory"
9
+ DIDIT = "didit"
10
+
11
+ VALUES = [DIRECTORY, DIDIT].freeze
12
+ end
13
+
14
+ # Known values of an open enum: the API may send others.
15
+ module TravelRuleListVaspsParamsNetwork
16
+ GTR = "GTR"
17
+ TRUST = "TRUST"
18
+ VERIFYVASP = "VERIFYVASP"
19
+ SYGNA = "SYGNA"
20
+ TRISA = "TRISA"
21
+
22
+ VALUES = [GTR, TRUST, VERIFYVASP, SYGNA, TRISA].freeze
23
+ end
24
+
25
+ # Known values of an open enum: the API may send others.
26
+ module TravelRuleListVaspsParamsResponsiveness
27
+ RESPONSIVE = "RESPONSIVE"
28
+ UNRESPONSIVE = "UNRESPONSIVE"
29
+ UNKNOWN = "UNKNOWN"
30
+
31
+ VALUES = [RESPONSIVE, UNRESPONSIVE, UNKNOWN].freeze
32
+ end
33
+
34
+ # Known values of an open enum: the API may send others.
35
+ module TravelRuleListVaspsParamsRisk
36
+ LOW = "LOW"
37
+ MEDIUM = "MEDIUM"
38
+ HIGH = "HIGH"
39
+
40
+ VALUES = [LOW, MEDIUM, HIGH].freeze
41
+ end
42
+
43
+ # Known values of an open enum: the API may send others.
44
+ module TravelRuleUpdateSettingsParamsDisabledNetworks
45
+ GTR = "GTR"
46
+ TRUST = "TRUST"
47
+ VERIFYVASP = "VERIFYVASP"
48
+ SYGNA = "SYGNA"
49
+
50
+ VALUES = [GTR, TRUST, VERIFYVASP, SYGNA].freeze
51
+ end
52
+
53
+ # `CONTAINS` accepts one name whose words all appear in the other.
54
+ module TravelRuleUpdateSettingsParamsNameMatchingStrictness
55
+ NONE = "NONE"
56
+ STRICT = "STRICT"
57
+ CONTAINS = "CONTAINS"
58
+ DEFAULT = "DEFAULT"
59
+ FUZZY = "FUZZY"
60
+
61
+ VALUES = [NONE, STRICT, CONTAINS, DEFAULT, FUZZY].freeze
62
+ end
63
+
64
+ # HOLD, REJECT, PROCEED, or empty to follow timeout_outcome. See the response field of the same name.
65
+ module TravelRuleUpdateSettingsParamsNonResponsivePolicy
66
+ VALUE = ""
67
+ HOLD = "HOLD"
68
+ REJECT = "REJECT"
69
+ PROCEED = "PROCEED"
70
+
71
+ VALUES = [VALUE, HOLD, REJECT, PROCEED].freeze
72
+ end
73
+
74
+ # See the response field of the same name.
75
+ module TravelRuleUpdateSettingsParamsOwnershipValidationMode
76
+ FULL = "FULL"
77
+ SIMPLIFIED = "SIMPLIFIED"
78
+ AUTOMATED = "AUTOMATED"
79
+
80
+ VALUES = [FULL, SIMPLIFIED, AUTOMATED].freeze
81
+ end
82
+
83
+ # HOLD, REJECT, PROCEED, or empty to follow timeout_outcome. See the response field of the same name.
84
+ module TravelRuleUpdateSettingsParamsSunrisePolicy
85
+ VALUE = ""
86
+ HOLD = "HOLD"
87
+ REJECT = "REJECT"
88
+ PROCEED = "PROCEED"
89
+
90
+ VALUES = [VALUE, HOLD, REJECT, PROCEED].freeze
91
+ end
92
+
93
+ # Known values of an open enum: the API may send others.
94
+ module TravelRuleUpdateSettingsParamsTimeoutOutcome
95
+ HOLD = "HOLD"
96
+ REJECT = "REJECT"
97
+ PROCEED = "PROCEED"
98
+
99
+ VALUES = [HOLD, REJECT, PROCEED].freeze
100
+ end
101
+
102
+ # Known values of an open enum: the API may send others.
103
+ module TravelRuleUpdateVaspDecisionParamsDecision
104
+ APPROVED = "APPROVED"
105
+ RESTRICTED = "RESTRICTED"
106
+ BLOCKED = "BLOCKED"
107
+
108
+ VALUES = [APPROVED, RESTRICTED, BLOCKED].freeze
109
+ end
110
+
111
+ # Known values of an open enum: the API may send others.
112
+ module TravelRuleWalletProofsDecideParamsDecision
113
+ APPROVE = "approve"
114
+ REJECT = "reject"
115
+
116
+ VALUES = [APPROVE, REJECT].freeze
117
+ end
118
+
119
+ # Known values of an open enum: the API may send others.
120
+ module TravelRuleWalletProofsListParamsStatus
121
+ PENDING = "PENDING"
122
+ VERIFIED = "VERIFIED"
123
+ REJECTED = "REJECTED"
124
+ EXPIRED = "EXPIRED"
125
+
126
+ VALUES = [PENDING, VERIFIED, REJECTED, EXPIRED].freeze
127
+ end
128
+
129
+ class TravelRuleCounterpartyContactsListResponse < Didit::Model
130
+ field :count, "count", :integer
131
+ field :next, "next", :string
132
+ field :previous, "previous", :string
133
+ field :results, "results", [:array, "TravelRuleCounterpartyContact"]
134
+ end
135
+
136
+ class TravelRuleListVaspsResponse < Didit::Model
137
+ field :count, "count", :integer
138
+ field :next, "next", :string
139
+ field :previous, "previous", :string
140
+ field :results, "results", [:array, "VaspDirectoryEntry"]
141
+ end
142
+
143
+ class TravelRuleSendComplianceEmailConfirmationResponse < Didit::Model
144
+ field :sent_to, "sent_to", :string
145
+ end
146
+
147
+ class TravelRuleTransfersListResponse < Didit::Model
148
+ field :count, "count", :integer
149
+ field :next, "next", :string
150
+ field :previous, "previous", :string
151
+ field :results, "results", [:array, "TravelRuleTransferRow"]
152
+ end
153
+
154
+ class TravelRuleWalletAddressesListResponse < Didit::Model
155
+ field :count, "count", :integer
156
+ field :next, "next", :string
157
+ field :previous, "previous", :string
158
+ field :results, "results", [:array, "WalletAddressEntry"]
159
+ end
160
+
161
+ class TravelRuleWalletProofsListResponse < Didit::Model
162
+ field :count, "count", :integer
163
+ field :next, "next", :string
164
+ field :previous, "previous", :string
165
+ field :results, "results", [:array, "TravelRuleWalletProofReview"]
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,180 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # Initial lifecycle status. Defaults to `ACTIVE`.
7
+ module UsersCreateParamsStatus
8
+ ACTIVE = "ACTIVE"
9
+ FLAGGED = "FLAGGED"
10
+ BLOCKED = "BLOCKED"
11
+
12
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
13
+ end
14
+
15
+ # Known values of an open enum: the API may send others.
16
+ module UsersCreateResponseCommentsCommentType
17
+ COMMENT = "COMMENT"
18
+ STATUS_CHANGED = "STATUS_CHANGED"
19
+ METADATA_UPDATED = "METADATA_UPDATED"
20
+ TAG_ADDED = "TAG_ADDED"
21
+ TAG_REMOVED = "TAG_REMOVED"
22
+ PROFILE_UPDATED = "PROFILE_UPDATED"
23
+
24
+ VALUES = [COMMENT, STATUS_CHANGED, METADATA_UPDATED, TAG_ADDED, TAG_REMOVED, PROFILE_UPDATED].freeze
25
+ end
26
+
27
+ # Known values of an open enum: the API may send others.
28
+ module UsersCreateResponseCommentsNewStatus
29
+ ACTIVE = "ACTIVE"
30
+ FLAGGED = "FLAGGED"
31
+ BLOCKED = "BLOCKED"
32
+
33
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
34
+ end
35
+
36
+ # Known values of an open enum: the API may send others.
37
+ module UsersCreateResponseCommentsPreviousStatus
38
+ ACTIVE = "ACTIVE"
39
+ FLAGGED = "FLAGGED"
40
+ BLOCKED = "BLOCKED"
41
+
42
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
43
+ end
44
+
45
+ # Lifecycle status of the user record (NOT a session status). `ACTIVE` is the default, `FLAGGED` marks the user
46
+ # for manual attention, `BLOCKED` prevents new sessions for this `vendor_data`.
47
+ module UsersCreateResponseStatus
48
+ ACTIVE = "ACTIVE"
49
+ FLAGGED = "FLAGGED"
50
+ BLOCKED = "BLOCKED"
51
+
52
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
53
+ end
54
+
55
+ # Known values of an open enum: the API may send others.
56
+ module UsersCreateResponseTagsTagSource
57
+ DIDIT = "didit"
58
+ CUSTOM = "custom"
59
+
60
+ VALUES = [DIDIT, CUSTOM].freeze
61
+ end
62
+
63
+ # User lifecycle status. A change is recorded as a `STATUS_CHANGED` activity, and `BLOCKED` adds the `vendor_data`
64
+ # to the system blocklist (moving away from `BLOCKED` removes that entry).
65
+ module UsersUpdateParamsStatus
66
+ ACTIVE = "ACTIVE"
67
+ FLAGGED = "FLAGGED"
68
+ BLOCKED = "BLOCKED"
69
+
70
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
71
+ end
72
+
73
+ # New lifecycle status. `BLOCKED` also adds the `vendor_data` to the system blocklist.
74
+ module UsersUpdateStatusParamsStatus
75
+ ACTIVE = "ACTIVE"
76
+ FLAGGED = "FLAGGED"
77
+ BLOCKED = "BLOCKED"
78
+
79
+ VALUES = [ACTIVE, FLAGGED, BLOCKED].freeze
80
+ end
81
+
82
+ class UsersBatchDeleteResponse < Didit::Model
83
+ field :deleted, "deleted", :integer
84
+ end
85
+
86
+ class UsersCreateResponse < Didit::Model
87
+ field :didit_internal_id, "didit_internal_id", :string
88
+ field :vendor_data, "vendor_data", :string
89
+ field :display_name, "display_name", :string
90
+ field :full_name, "full_name", :string
91
+ field :date_of_birth, "date_of_birth", :date
92
+ field :effective_name, "effective_name", :string
93
+ field :status, "status", :string
94
+ field :portrait_image_url, "portrait_image_url", :string
95
+ field :session_count, "session_count", :integer
96
+ field :approved_count, "approved_count", :integer
97
+ field :declined_count, "declined_count", :integer
98
+ field :in_review_count, "in_review_count", :integer
99
+ field :issuing_states, "issuing_states", [:array, :string]
100
+ field :approved_emails, "approved_emails", [:array, :string]
101
+ field :approved_phones, "approved_phones", [:array, :string]
102
+ field :features, "features", :any
103
+ field :features_list, "features_list", [:array, "UsersCreateResponseFeaturesList"]
104
+ field :last_session_at, "last_session_at", :datetime
105
+ field :first_session_at, "first_session_at", :datetime
106
+ field :last_activity_at, "last_activity_at", :datetime
107
+ field :tags, "tags", [:array, "UsersCreateResponseTags"]
108
+ field :created_at, "created_at", :datetime
109
+ field :metadata, "metadata", :any
110
+ field :comments, "comments", [:array, "UsersCreateResponseComments"]
111
+ field :updated_at, "updated_at", :datetime
112
+ field :verification_link, "verification_link", "UsersCreateResponseVerificationLink"
113
+ end
114
+
115
+ class UsersCreateResponseComments < Didit::Model
116
+ field :uuid, "uuid", :string
117
+ field :comment_type, "comment_type", :string
118
+ field :comment, "comment", :string
119
+ field :actor_email, "actor_email", :string
120
+ field :actor_name, "actor_name", :string
121
+ field :previous_status, "previous_status", :string
122
+ field :new_status, "new_status", :string
123
+ field :previous_value, "previous_value", :any
124
+ field :new_value, "new_value", :any
125
+ field :changed_fields, "changed_fields", [:array, :string]
126
+ field :metadata, "metadata", :any
127
+ field :mentioned_emails, "mentioned_emails", [:array, :string]
128
+ field :created_at, "created_at", :datetime
129
+ end
130
+
131
+ class UsersCreateResponseFeaturesList < Didit::Model
132
+ field :feature, "feature", :string
133
+ field :status, "status", :string
134
+ end
135
+
136
+ class UsersCreateResponseTags < Didit::Model
137
+ field :uuid, "uuid", :string
138
+ field :tag, "tag", "UsersCreateResponseTagsTag"
139
+ field :added_by_email, "added_by_email", :string
140
+ field :added_by_name, "added_by_name", :string
141
+ field :created_at, "created_at", :datetime
142
+ end
143
+
144
+ class UsersCreateResponseTagsTag < Didit::Model
145
+ field :uuid, "uuid", :string
146
+ field :name, "name", :string
147
+ field :color, "color", :string
148
+ field :description, "description", :string
149
+ field :source, "source", :string
150
+ field :created_at, "created_at", :datetime
151
+ field :updated_at, "updated_at", :datetime
152
+ end
153
+
154
+ # The verification session Didit created and emailed to the person. Always present: `null` when
155
+ # `send_verification_link` was not `true`.
156
+ class UsersCreateResponseVerificationLink < Didit::Model
157
+ field :session_id, "session_id", :string
158
+ field :session_number, "session_number", :integer
159
+ field :status, "status", :string
160
+ field :url, "url", :string
161
+ field :workflow_id, "workflow_id", :string
162
+ field :email, "email", :string
163
+ end
164
+
165
+ class UsersListResponse < Didit::Model
166
+ field :count, "count", :integer
167
+ field :next, "next", :string
168
+ field :previous, "previous", :string
169
+ field :results, "results", [:array, "UserListItem"]
170
+ end
171
+
172
+ class UsersUploadFaceResponse < Didit::Model
173
+ field :uuid, "uuid", :string
174
+ field :image_url, "image_url", :string
175
+ field :comment, "comment", :string
176
+ field :uploaded_by, "uploaded_by", :string
177
+ field :created_at, "created_at", :datetime
178
+ end
179
+ end
180
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # Network identifier. Managed screening supports BTC, ETH, LTC, XRP, BCH, DOGE, TRX, SOL, MATIC, BNB, BASE (Base),
7
+ # OP (Optimism), and ARB (Arbitrum One). USDT and USDC are legacy Ethereum aliases, not multi-network searches.
8
+ # Connected-provider coverage varies. LIGHTNING requires a supported connected provider. CELO (Celo), MODE (Mode)
9
+ # and PLUME (Plume) are screened through a connected TRM Labs account; managed screening answers 400 for them.
10
+ # Alias: `currency`.
11
+ module WalletScreeningScreenParamsBlockchain
12
+ BTC = "BTC"
13
+ LIGHTNING = "LIGHTNING"
14
+ ETH = "ETH"
15
+ LTC = "LTC"
16
+ XRP = "XRP"
17
+ BCH = "BCH"
18
+ DOGE = "DOGE"
19
+ TRX = "TRX"
20
+ SOL = "SOL"
21
+ MATIC = "MATIC"
22
+ BNB = "BNB"
23
+ USDT = "USDT"
24
+ USDC = "USDC"
25
+ BASE = "BASE"
26
+ OP = "OP"
27
+ ARB = "ARB"
28
+ CELO = "CELO"
29
+ MODE = "MODE"
30
+ PLUME = "PLUME"
31
+
32
+ VALUES = [BTC, LIGHTNING, ETH, LTC, XRP, BCH, DOGE, TRX, SOL, MATIC, BNB, USDT, USDC, BASE, OP, ARB, CELO, MODE, PLUME].freeze
33
+ end
34
+
35
+ # Optional. Whether the address is being screened as an inbound (deposit) or outbound (withdrawal) counterparty.
36
+ # Accepts `inbound`, `outbound`, `deposit`, or `withdrawal`. Defaults to a neutral pre-transfer screen when
37
+ # omitted. This is passed to the provider as context only; it does not change the returned `risk_score`,
38
+ # `severity`, or the `source_of_funds`/`destination_of_funds` breakdowns, which are always both returned
39
+ # regardless of `direction`. Changing or omitting `direction` therefore does not require re-screening an address.
40
+ module WalletScreeningScreenParamsDirection
41
+ INBOUND = "inbound"
42
+ OUTBOUND = "outbound"
43
+ DEPOSIT = "deposit"
44
+ WITHDRAWAL = "withdrawal"
45
+
46
+ VALUES = [INBOUND, OUTBOUND, DEPOSIT, WITHDRAWAL].freeze
47
+ end
48
+ end
49
+ end