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,311 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+
3
+ module Didit
4
+ module Types
5
+ module WebhooksDestinationsCreateParamsWebhookVersion
6
+ V1: String
7
+ V2: String
8
+ V3: String
9
+
10
+ VALUES: Array[String]
11
+ end
12
+
13
+ module WebhooksDestinationsCreateResponseEnvironment
14
+ LIVE: String
15
+ SANDBOX: String
16
+
17
+ VALUES: Array[String]
18
+ end
19
+
20
+ module WebhooksDestinationsCreateResponseHealthStatus
21
+ HEALTHY: String
22
+ DEGRADED: String
23
+ FAILING: String
24
+
25
+ VALUES: Array[String]
26
+ end
27
+
28
+ module WebhooksDestinationsCreateResponseWebhookVersion
29
+ V1: String
30
+ V2: String
31
+ V3: String
32
+
33
+ VALUES: Array[String]
34
+ end
35
+
36
+ module WebhooksDestinationsListResponseItemEnvironment
37
+ LIVE: String
38
+ SANDBOX: String
39
+
40
+ VALUES: Array[String]
41
+ end
42
+
43
+ module WebhooksDestinationsListResponseItemHealthStatus
44
+ HEALTHY: String
45
+ DEGRADED: String
46
+ FAILING: String
47
+
48
+ VALUES: Array[String]
49
+ end
50
+
51
+ module WebhooksDestinationsListResponseItemWebhookVersion
52
+ V1: String
53
+ V2: String
54
+ V3: String
55
+
56
+ VALUES: Array[String]
57
+ end
58
+
59
+ module WebhooksDestinationsRetrieveResponseEnvironment
60
+ LIVE: String
61
+ SANDBOX: String
62
+
63
+ VALUES: Array[String]
64
+ end
65
+
66
+ module WebhooksDestinationsRetrieveResponseHealthStatus
67
+ HEALTHY: String
68
+ DEGRADED: String
69
+ FAILING: String
70
+
71
+ VALUES: Array[String]
72
+ end
73
+
74
+ module WebhooksDestinationsRetrieveResponseWebhookVersion
75
+ V1: String
76
+ V2: String
77
+ V3: String
78
+
79
+ VALUES: Array[String]
80
+ end
81
+
82
+ module WebhooksDestinationsUpdateParamsWebhookVersion
83
+ V1: String
84
+ V2: String
85
+ V3: String
86
+
87
+ VALUES: Array[String]
88
+ end
89
+
90
+ module WebhooksDestinationsUpdateResponseEnvironment
91
+ LIVE: String
92
+ SANDBOX: String
93
+
94
+ VALUES: Array[String]
95
+ end
96
+
97
+ module WebhooksDestinationsUpdateResponseHealthStatus
98
+ HEALTHY: String
99
+ DEGRADED: String
100
+ FAILING: String
101
+
102
+ VALUES: Array[String]
103
+ end
104
+
105
+ module WebhooksDestinationsUpdateResponseWebhookVersion
106
+ V1: String
107
+ V2: String
108
+ V3: String
109
+
110
+ VALUES: Array[String]
111
+ end
112
+
113
+ module WebhooksUpdateConfigParamsBiometricConsentMode
114
+ AUTO: String
115
+ ALWAYS: String
116
+ NEVER: String
117
+
118
+ VALUES: Array[String]
119
+ end
120
+
121
+ module WebhooksUpdateConfigParamsCaptureMethod
122
+ MOBILE: String
123
+ MOBILE_AND_DESKTOP: String
124
+
125
+ VALUES: Array[String]
126
+ end
127
+
128
+ module WebhooksUpdateConfigParamsFaceRetentionPolicy
129
+ DELETE_WITH_SESSION: String
130
+ RETAIN_UNTIL_USER_DELETED: String
131
+
132
+ VALUES: Array[String]
133
+ end
134
+
135
+ module WebhooksUpdateConfigParamsWebhookVersion
136
+ V1: String
137
+ V2: String
138
+ V3: String
139
+
140
+ VALUES: Array[String]
141
+ end
142
+
143
+ class WebhooksDestinationsCreateResponse < Didit::Model
144
+ def uuid: () -> String?
145
+ def label: () -> String?
146
+ def url: () -> String?
147
+ def enabled: () -> bool?
148
+ def webhook_version: () -> String?
149
+ def secret_shared_key: () -> String?
150
+ def secret_last4: () -> String?
151
+ def previous_secret_expires_at: () -> Time?
152
+ def subscribed_events: () -> Array[String]?
153
+ def created_by_email: () -> String?
154
+ def created_by_name: () -> String?
155
+ def created_at: () -> Time?
156
+ def updated_at: () -> Time?
157
+ def health_status: () -> String?
158
+ def failing_streak: () -> Integer?
159
+ def failing_since: () -> Time?
160
+ def last_success_at: () -> Time?
161
+ def environment: () -> String?
162
+ def summary: () -> Didit::Types::WebhooksDestinationsCreateResponseSummary?
163
+ end
164
+
165
+ class WebhooksDestinationsCreateResponseSummary < Didit::Model
166
+ def total_deliveries: () -> Integer?
167
+ def failed_deliveries: () -> Integer?
168
+ def error_rate_percentage: () -> Integer?
169
+ def min_response_time_ms: () -> Integer?
170
+ def avg_response_time_ms: () -> Integer?
171
+ def max_response_time_ms: () -> Integer?
172
+ def last_delivery_at: () -> Time?
173
+ def metrics_window_days: () -> Integer?
174
+ end
175
+
176
+ class WebhooksDestinationsListDeliveriesResponse < Didit::Model
177
+ def count: () -> Integer
178
+ def `next`: () -> String?
179
+ def previous: () -> String?
180
+ def results: () -> Array[Didit::Types::WebhookDestinationDelivery]
181
+ end
182
+
183
+ class WebhooksDestinationsListResponseItem < Didit::Model
184
+ def uuid: () -> String?
185
+ def label: () -> String?
186
+ def url: () -> String?
187
+ def enabled: () -> bool?
188
+ def webhook_version: () -> String?
189
+ def subscribed_events: () -> Array[String]?
190
+ def subscribed_events_count: () -> Integer?
191
+ def deliveries_count: () -> Integer?
192
+ def failed_deliveries_count: () -> Integer?
193
+ def average_response_time_ms: () -> Integer?
194
+ def error_rate_percentage: () -> Integer?
195
+ def last_delivery_at: () -> Time?
196
+ def metrics_window_days: () -> Integer?
197
+ def health_status: () -> String?
198
+ def failing_streak: () -> Integer?
199
+ def failing_since: () -> Time?
200
+ def last_success_at: () -> Time?
201
+ def environment: () -> String?
202
+ def daily_points: () -> Array[Didit::Types::WebhooksDestinationsListResponseItemDailyPoints]?
203
+ def secret_last4: () -> String?
204
+ def created_by_email: () -> String?
205
+ def created_by_name: () -> String?
206
+ def created_at: () -> Time?
207
+ def updated_at: () -> Time?
208
+ end
209
+
210
+ class WebhooksDestinationsListResponseItemDailyPoints < Didit::Model
211
+ def date: () -> Date?
212
+ def total_deliveries: () -> Integer?
213
+ def failed_deliveries: () -> Integer?
214
+ end
215
+
216
+ class WebhooksDestinationsRetrieveAnalyticsResponse < Didit::Model
217
+ def summary: () -> Didit::Types::WebhooksDestinationsRetrieveAnalyticsResponseSummary
218
+ def points: () -> Array[Didit::Types::WebhooksDestinationsRetrieveAnalyticsResponsePoints]
219
+ end
220
+
221
+ class WebhooksDestinationsRetrieveAnalyticsResponsePoints < Didit::Model
222
+ def date: () -> Date
223
+ def total_deliveries: () -> Integer
224
+ def failed_deliveries: () -> Integer
225
+ def min_response_time_ms: () -> Integer?
226
+ def avg_response_time_ms: () -> Integer?
227
+ def max_response_time_ms: () -> Integer?
228
+ end
229
+
230
+ class WebhooksDestinationsRetrieveAnalyticsResponseSummary < Didit::Model
231
+ def total_deliveries: () -> Integer
232
+ def failed_deliveries: () -> Integer
233
+ def min_response_time_ms: () -> Integer?
234
+ def avg_response_time_ms: () -> Integer?
235
+ def max_response_time_ms: () -> Integer?
236
+ def error_rate_percentage: () -> Integer
237
+ end
238
+
239
+ class WebhooksDestinationsRetrieveResponse < Didit::Model
240
+ def uuid: () -> String?
241
+ def label: () -> String?
242
+ def url: () -> String?
243
+ def enabled: () -> bool?
244
+ def webhook_version: () -> String?
245
+ def secret_shared_key: () -> String?
246
+ def secret_last4: () -> String?
247
+ def previous_secret_expires_at: () -> Time?
248
+ def subscribed_events: () -> Array[String]?
249
+ def created_by_email: () -> String?
250
+ def created_by_name: () -> String?
251
+ def created_at: () -> Time?
252
+ def updated_at: () -> Time?
253
+ def health_status: () -> String?
254
+ def failing_streak: () -> Integer?
255
+ def failing_since: () -> Time?
256
+ def last_success_at: () -> Time?
257
+ def environment: () -> String?
258
+ def summary: () -> Didit::Types::WebhooksDestinationsRetrieveResponseSummary?
259
+ end
260
+
261
+ class WebhooksDestinationsRetrieveResponseSummary < Didit::Model
262
+ def total_deliveries: () -> Integer?
263
+ def failed_deliveries: () -> Integer?
264
+ def error_rate_percentage: () -> Integer?
265
+ def min_response_time_ms: () -> Integer?
266
+ def avg_response_time_ms: () -> Integer?
267
+ def max_response_time_ms: () -> Integer?
268
+ def last_delivery_at: () -> Time?
269
+ def metrics_window_days: () -> Integer?
270
+ end
271
+
272
+ class WebhooksDestinationsUpdateResponse < Didit::Model
273
+ def uuid: () -> String?
274
+ def label: () -> String?
275
+ def url: () -> String?
276
+ def enabled: () -> bool?
277
+ def webhook_version: () -> String?
278
+ def secret_shared_key: () -> String?
279
+ def secret_last4: () -> String?
280
+ def previous_secret_expires_at: () -> Time?
281
+ def subscribed_events: () -> Array[String]?
282
+ def created_by_email: () -> String?
283
+ def created_by_name: () -> String?
284
+ def created_at: () -> Time?
285
+ def updated_at: () -> Time?
286
+ def health_status: () -> String?
287
+ def failing_streak: () -> Integer?
288
+ def failing_since: () -> Time?
289
+ def last_success_at: () -> Time?
290
+ def environment: () -> String?
291
+ def summary: () -> Didit::Types::WebhooksDestinationsUpdateResponseSummary?
292
+ end
293
+
294
+ class WebhooksDestinationsUpdateResponseSummary < Didit::Model
295
+ def total_deliveries: () -> Integer?
296
+ def failed_deliveries: () -> Integer?
297
+ def error_rate_percentage: () -> Integer?
298
+ def min_response_time_ms: () -> Integer?
299
+ def avg_response_time_ms: () -> Integer?
300
+ def max_response_time_ms: () -> Integer?
301
+ def last_delivery_at: () -> Time?
302
+ def metrics_window_days: () -> Integer?
303
+ end
304
+
305
+ type webhooks_destinations_create_params = { label: String, url: String, ?enabled: bool, ?webhook_version: String, ?subscribed_events: Array[String] }
306
+
307
+ type webhooks_destinations_update_params = { ?label: String, ?url: String, ?enabled: bool, ?webhook_version: String, ?subscribed_events: Array[String] }
308
+
309
+ type webhooks_update_config_params = { ?webhook_url: String?, ?webhook_version: String, ?rotate_secret_key: bool, ?capture_method: String, ?data_retention_months: Integer?, ?face_retention_policy: String, ?face_retention_days: Integer?, ?biometric_consent_mode: String, ?allowed_return_hosts: Array[String] }
310
+ end
311
+ end
@@ -0,0 +1,30 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+
3
+ module Didit
4
+ module Types
5
+ module WorkflowsCreateParamsStatus
6
+ DRAFT: String
7
+ PUBLISHED: String
8
+
9
+ VALUES: Array[String]
10
+ end
11
+
12
+ module WorkflowsUpdateParamsStatus
13
+ DRAFT: String
14
+ PUBLISHED: String
15
+
16
+ VALUES: Array[String]
17
+ end
18
+
19
+ class WorkflowsListResponse < Didit::Model
20
+ def count: () -> Integer?
21
+ def `next`: () -> String?
22
+ def previous: () -> String?
23
+ def results: () -> Array[Didit::Types::WorkflowListItem]?
24
+ end
25
+
26
+ type workflows_create_params = { ?workflow_label: String, ?is_default: bool, ?status: String, features: Array[Didit::Types::simple_workflow_feature], ?is_white_label_enabled: bool, ?is_desktop_allowed: bool, ?max_retry_attempts: Integer, ?retry_window_days: Integer?, ?face_liveness_max_attempts: Integer, ?face_match_max_attempts: Integer, ?session_expiration_time: Integer }
27
+
28
+ type workflows_update_params = { ?workflow_label: String, ?is_default: bool, ?status: String, ?features: Array[Didit::Types::simple_workflow_feature], ?is_white_label_enabled: bool, ?is_desktop_allowed: bool, ?max_retry_attempts: Integer, ?retry_window_days: Integer?, ?face_liveness_max_attempts: Integer, ?face_match_max_attempts: Integer, ?session_expiration_time: Integer }
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ module Didit
2
+ module Webhooks
3
+ module CanonicalJson
4
+ MAX_NESTING: Integer
5
+ ESCAPES: Hash[String, String]
6
+ ESCAPED: Regexp
7
+
8
+ def self?.generate: (untyped value) -> String
9
+ def self?.normalize: (untyped value, ?Integer depth) -> untyped
10
+ def self?.dump: (untyped value) -> String
11
+ def self?.python_str: (untyped value) -> String?
12
+ def self?.float_repr: (Float value) -> String
13
+ def self?.decimal_digits: (String text) -> [String, Integer]
14
+ def self?.format_repr: (String digits, Integer point) -> String
15
+ def self?.normalize_object: (Hash[untyped, untyped] value, Integer depth) -> Hash[String, untyped]
16
+ def self?.normalize_array: (Array[untyped] value, Integer depth) -> Array[untyped]
17
+ def self?.key_name: (untyped key) -> String
18
+ def self?.utf8: (String value) -> String
19
+ def self?.write: (untyped value, String out) -> String
20
+ def self?.write_object: (Hash[String, untyped] value, String out) -> String
21
+ def self?.write_array: (Array[untyped] value, String out) -> String
22
+ def self?.write_string: (String value, String out) -> String
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ module Didit
2
+ module Webhooks
3
+ module ClientMethods
4
+ def verify: (String raw_body, Webhooks::headers headers, Webhooks::secret secret, ?tolerance: Webhooks::tolerance,
5
+ ?allow_simple: bool, ?now: (Integer | Float)?) -> Event
6
+
7
+ def verify_parsed: (Hash[String | Symbol, untyped] payload, Webhooks::headers headers, Webhooks::secret secret,
8
+ ?tolerance: Webhooks::tolerance, ?now: (Integer | Float)?) -> Event
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,125 @@
1
+ module Didit
2
+ module Webhooks
3
+ EVENT_CLASSES: Hash[String, singleton(Event)]
4
+
5
+ class Event < Didit::Model
6
+ @verified_by: String?
7
+
8
+ def self.build: (Hash[untyped, untyped] payload, ?String? verified_by) -> Event
9
+
10
+ attr_reader verified_by: String?
11
+
12
+ def initialize: (?Hash[String | Symbol, untyped] data, ?verified_by: String?) -> void
13
+ def event_id: () -> String?
14
+ def webhook_type: () -> String?
15
+ def timestamp: () -> Integer?
16
+ def created_at: () -> Integer?
17
+ def application_id: () -> String?
18
+ def environment: () -> String?
19
+ def body_authenticated?: () -> bool
20
+ end
21
+
22
+ class SessionEvent < Event
23
+ def session_id: () -> String?
24
+ def business_session_id: () -> String?
25
+ def session_kind: () -> String?
26
+ def status: () -> String?
27
+ def workflow_id: () -> String?
28
+ def workflow_version: () -> untyped
29
+ def vendor_data: () -> String?
30
+ def metadata: () -> untyped
31
+ def decision: () -> Didit::Types::SessionDecision?
32
+ def resubmit_info: () -> untyped
33
+ end
34
+
35
+ class StatusUpdatedEvent < SessionEvent
36
+ WEBHOOK_TYPE: String
37
+ end
38
+
39
+ class DataUpdatedEvent < SessionEvent
40
+ WEBHOOK_TYPE: String
41
+ end
42
+
43
+ class UserEvent < Event
44
+ def vendor_user_id: () -> String?
45
+ def vendor_data: () -> String?
46
+ def status: () -> String?
47
+ end
48
+
49
+ class UserStatusUpdatedEvent < UserEvent
50
+ WEBHOOK_TYPE: String
51
+ end
52
+
53
+ class UserDataUpdatedEvent < UserEvent
54
+ WEBHOOK_TYPE: String
55
+ end
56
+
57
+ class BusinessEvent < Event
58
+ def vendor_business_id: () -> String?
59
+ def vendor_data: () -> String?
60
+ def status: () -> String?
61
+ end
62
+
63
+ class BusinessStatusUpdatedEvent < BusinessEvent
64
+ WEBHOOK_TYPE: String
65
+ end
66
+
67
+ class BusinessDataUpdatedEvent < BusinessEvent
68
+ WEBHOOK_TYPE: String
69
+ end
70
+
71
+ class TransactionEvent < Event
72
+ def transaction_id: () -> String?
73
+ def txn_id: () -> String?
74
+ def status: () -> String?
75
+ def score: () -> Float?
76
+ def severity: () -> String?
77
+ def amount: () -> untyped
78
+ def currency: () -> String?
79
+ def direction: () -> String?
80
+ def action_required: () -> bool?
81
+ end
82
+
83
+ class TransactionCreatedEvent < TransactionEvent
84
+ WEBHOOK_TYPE: String
85
+ end
86
+
87
+ class TransactionStatusUpdatedEvent < TransactionEvent
88
+ WEBHOOK_TYPE: String
89
+ end
90
+
91
+ class TravelRuleStatusUpdatedEvent < Event
92
+ WEBHOOK_TYPE: String
93
+
94
+ def transaction_id: () -> String?
95
+ def txn_id: () -> String?
96
+ def travel_rule_status: () -> String?
97
+ def rail: () -> String?
98
+ def direction: () -> String?
99
+ end
100
+
101
+ class ActivityCreatedEvent < Event
102
+ WEBHOOK_TYPE: String
103
+ end
104
+
105
+ class WorkflowComplianceChangedEvent < Event
106
+ WEBHOOK_TYPE: String
107
+
108
+ def workflow_id: () -> String?
109
+ end
110
+
111
+ class KybRegistrySearchResolvedEvent < Event
112
+ WEBHOOK_TYPE: String
113
+
114
+ def request_id: () -> String?
115
+ def vendor_data: () -> String?
116
+ def metadata: () -> untyped
117
+ def search_status: () -> String?
118
+ def search_resolved: () -> bool?
119
+ def kyb_registry: () -> untyped
120
+ end
121
+
122
+ class UnknownEvent < Event
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,22 @@
1
+ module Didit
2
+ module Webhooks
3
+ class Headers
4
+ WANTED: Array[String]
5
+ HEX: Regexp
6
+
7
+ @values: Hash[String, Array[String]]
8
+
9
+ def initialize: (untyped source) -> void
10
+ def present?: (String name) -> bool
11
+ def signatures: (String name) -> Array[String]
12
+ def timestamp: () -> String?
13
+
14
+ private
15
+
16
+ def add: (untyped name, untyped value) -> void
17
+ def header_key: (untyped name) -> String?
18
+ def values: (String name) -> Array[String]
19
+ def parts: (String name) -> Array[String]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,54 @@
1
+ module Didit
2
+ module Webhooks
3
+ class Verifier
4
+ FULL_BODY: Array[String]
5
+ CANONICAL: Array[String]
6
+ SIMPLE: Array[String]
7
+ ALL: Array[String]
8
+ SIMPLE_FIELDS: Array[String]
9
+ MAX_TIMESTAMP: Integer
10
+ TIMESTAMP_HEADER: Regexp
11
+ DUPLICATE_KEY_OPTION: bool
12
+ PARSE_OPTIONS: Hash[Symbol, bool]
13
+
14
+ type kind = :raw | :canonical | :simple
15
+
16
+ @keys: Array[String]
17
+ @tolerance: Webhooks::tolerance
18
+ @now: Integer | Float
19
+ @headers: Headers
20
+ @raw: String?
21
+ @payload: Hash[String, untyped]?
22
+ @digests: Hash[[String, kind], String]
23
+ @canonical: String?
24
+ @simple_message: String?
25
+
26
+ def initialize: (untyped secret, untyped headers, tolerance: untyped, now: untyped) -> void
27
+ def verify: (untyped raw_body, allow_simple: bool) -> Event
28
+ def verify_parsed: (untyped payload) -> Event
29
+
30
+ private
31
+
32
+ def payload: () -> Hash[String, untyped]
33
+ def secret_keys: (untyped secret) -> Array[String]
34
+ def key_bytes: (untyped secret) -> String
35
+ def check_tolerance: (untyped tolerance) -> Webhooks::tolerance
36
+ def check_now: (untyped now) -> (Integer | Float)
37
+ def body_bytes: (untyped raw_body) -> String
38
+ def parse_json: (String bytes) -> Hash[untyped, untyped]
39
+ def normalize: (untyped value) -> Hash[String, untyped]
40
+ def check_signatures: (Array[String] checked) -> String
41
+ def check_timestamp: () -> void
42
+ def check_timestamp_header: (Integer timestamp) -> void
43
+ def match: (Array[String] checked) -> String?
44
+ def signed?: (String key, String name) -> bool
45
+ def digest: (String key, String name) -> String
46
+ def message_kind: (String name) -> kind
47
+ def message: (kind kind) -> String
48
+ def canonical: () -> String
49
+ def simple_message: () -> String?
50
+ def no_match: (Array[String] checked) -> WebhookVerificationError
51
+ def failure: (Symbol reason, String message) -> WebhookVerificationError
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,37 @@
1
+ module Didit
2
+ module Webhooks
3
+ DEFAULT_TOLERANCE: Integer
4
+
5
+ HEADER_SIGNATURE: String
6
+ HEADER_SIGNATURE_V2: String
7
+ HEADER_SIGNATURE_SIMPLE: String
8
+ HEADER_SIGNATURE_PREVIOUS: String
9
+ HEADER_SIGNATURE_V2_PREVIOUS: String
10
+ HEADER_SIGNATURE_SIMPLE_PREVIOUS: String
11
+ HEADER_TIMESTAMP: String
12
+
13
+ # Anything whose +each+ yields [name, value] pairs: a Rack env, Rails request.headers, Net::HTTPHeader.
14
+ interface _EachHeader
15
+ def each: () { (untyped name, untyped value) -> void } -> untyped
16
+ end
17
+
18
+ # Request headers: names in any case, values Strings or Arrays of Strings.
19
+ type headers = Hash[untyped, untyped] | Array[[untyped, untyped]] | _EachHeader
20
+
21
+ # One secret, or several during a rotation.
22
+ type secret = String | Array[String]
23
+
24
+ # Seconds.
25
+ type tolerance = Integer | Float
26
+
27
+ def self.verify: (String raw_body, headers headers, secret secret, ?tolerance: tolerance, ?allow_simple: bool,
28
+ ?now: (Integer | Float)?) -> Event
29
+
30
+ def self.verify_parsed: (Hash[String | Symbol, untyped] payload, headers headers, secret secret,
31
+ ?tolerance: tolerance, ?now: (Integer | Float)?) -> Event
32
+
33
+ def self.canonical_json: (untyped value) -> String
34
+
35
+ def self.parse_event: (Hash[String | Symbol, untyped] payload) -> Event
36
+ end
37
+ end
data/sig/didit.rbs ADDED
@@ -0,0 +1,20 @@
1
+ module Didit
2
+ VERSION: String
3
+
4
+ OMIT: untyped
5
+
6
+ # A file argument of an upload operation.
7
+ type upload = Didit::FilePart | Pathname | IO | StringIO | String
8
+
9
+ # The +request_options:+ argument of every method.
10
+ type request_options = {
11
+ ?timeout: Numeric,
12
+ ?max_retries: Integer,
13
+ ?extra_headers: Hash[String, String?],
14
+ ?extra_query: Hash[String | Symbol, untyped],
15
+ ?extra_body: Hash[String | Symbol, untyped]
16
+ }
17
+
18
+ # A runtime type spec understood by Didit::Model.coerce.
19
+ type type_spec = Symbol | String | Class | Array[untyped] | Hash[Integer, untyped]
20
+ end