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,193 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # `available` when a reading exists; `not_configured` when dataset dates are not collected in this environment;
7
+ # `not_yet_collected` when collection is set up but no reading exists yet.
8
+ module AmlRetrieveDatasetFreshnessResponseAvailability
9
+ AVAILABLE = "available"
10
+ NOT_CONFIGURED = "not_configured"
11
+ NOT_YET_COLLECTED = "not_yet_collected"
12
+
13
+ VALUES = [AVAILABLE, NOT_CONFIGURED, NOT_YET_COLLECTED].freeze
14
+ end
15
+
16
+ # Type of entity to screen. Defaults to `person`.
17
+ module AmlScreenParamsEntityType
18
+ PERSON = "person"
19
+ COMPANY = "company"
20
+
21
+ VALUES = [PERSON, COMPANY].freeze
22
+ end
23
+
24
+ # Echo of the screened entity type.
25
+ module AmlScreenResponseAmlEntityType
26
+ PERSON = "person"
27
+ COMPANY = "company"
28
+
29
+ VALUES = [PERSON, COMPANY].freeze
30
+ end
31
+
32
+ # `False Positive` - `match_score` below `aml_match_score_threshold`, excluded from risk assessment. `Unreviewed`
33
+ # - possible match awaiting review. `Confirmed Match` / `Inconclusive` - set manually by a reviewer (via the
34
+ # Business Console) on saved sessions; that review capability is not part of this spec.
35
+ module AmlScreenResponseAmlHitsReviewStatus
36
+ FALSE_POSITIVE = "False Positive"
37
+ UNREVIEWED = "Unreviewed"
38
+ CONFIRMED_MATCH = "Confirmed Match"
39
+ INCONCLUSIVE = "Inconclusive"
40
+
41
+ VALUES = [FALSE_POSITIVE, UNREVIEWED, CONFIRMED_MATCH, INCONCLUSIVE].freeze
42
+ end
43
+
44
+ # Golden-key result for the document number comparison.
45
+ module AmlScreenResponseAmlHitsScoreBreakdownDocumentNumberMatchType
46
+ MATCH = "MATCH"
47
+ NEUTRAL = "NEUTRAL"
48
+ HARD_MISMATCH = "HARD_MISMATCH"
49
+
50
+ VALUES = [MATCH, NEUTRAL, HARD_MISMATCH].freeze
51
+ end
52
+
53
+ # `Declined` when `score` > `aml_score_review_threshold`; `In Review` when `score` >
54
+ # `aml_score_approve_threshold`; `Approved` otherwise (including when no score is available).
55
+ module AmlScreenResponseAmlStatus
56
+ APPROVED = "Approved"
57
+ IN_REVIEW = "In Review"
58
+ DECLINED = "Declined"
59
+
60
+ VALUES = [APPROVED, IN_REVIEW, DECLINED].freeze
61
+ end
62
+
63
+ class AmlRetrieveDatasetFreshnessResponse < Didit::Model
64
+ field :dataset_freshness, "dataset_freshness", "AMLDatasetFreshness"
65
+ field :availability, "availability", :string
66
+ end
67
+
68
+ class AmlScreenResponse < Didit::Model
69
+ field :request_id, "request_id", :string
70
+ field :aml, "aml", "AmlScreenResponseAml"
71
+ field :vendor_data, "vendor_data", :string
72
+ field :metadata, "metadata", :any
73
+ field :created_at, "created_at", :datetime
74
+ end
75
+
76
+ class AmlScreenResponseAml < Didit::Model
77
+ field :status, "status", :string
78
+ field :total_hits, "total_hits", :integer
79
+ field :entity_type, "entity_type", :string
80
+ field :hits, "hits", [:array, "AmlScreenResponseAmlHits"]
81
+ field :score, "score", :float
82
+ field :screened_data, "screened_data", "AmlScreenResponseAmlScreenedData"
83
+ field :warnings, "warnings", [:array, "AmlScreenResponseAmlWarnings"]
84
+ end
85
+
86
+ # One screening hit. `match_score` (0-100) measures identity confidence - hits below `aml_match_score_threshold`
87
+ # are tagged `review_status: "False Positive"` and excluded from the risk assessment; hits at or above it are
88
+ # `"Unreviewed"` possible matches. `risk_score` (0-100) measures how risky the matched entity is and drives the
89
+ # top-level `aml.score`.
90
+ class AmlScreenResponseAmlHits < Didit::Model
91
+ field :id, "id", :string
92
+ field :url, "url", :string
93
+ field :match, "match", :boolean
94
+ field :score, "score", :float
95
+ field :match_score, "match_score", :float
96
+ field :risk_score, "risk_score", :float
97
+ field :target, "target", :boolean
98
+ field :caption, "caption", :string
99
+ field :datasets, "datasets", [:array, :string]
100
+ field :features, "features", :any
101
+ field :properties, "properties", :any
102
+ field :rca_name, "rca_name", :string
103
+ field :pep_matches, "pep_matches", [:array, "AmlScreenResponseAmlHitsPepMatches"]
104
+ field :sanction_matches, "sanction_matches", [:array, :any]
105
+ field :warning_matches, "warning_matches", [:array, :any]
106
+ field :adverse_media_matches, "adverse_media_matches", [:array, "AmlScreenResponseAmlHitsAdverseMediaMatches"]
107
+ field :adverse_media_details, "adverse_media_details", :any
108
+ field :first_seen, "first_seen", :datetime
109
+ field :last_seen, "last_seen", :datetime
110
+ field :linked_entities, "linked_entities", [:array, "AmlScreenResponseAmlHitsLinkedEntities"]
111
+ field :risk_view, "risk_view", :any
112
+ field :additional_information, "additional_information", :any
113
+ field :review_status, "review_status", :string
114
+ field :score_breakdown, "score_breakdown", "AmlScreenResponseAmlHitsScoreBreakdown"
115
+ end
116
+
117
+ class AmlScreenResponseAmlHitsAdverseMediaMatches < Didit::Model
118
+ field :headline, "headline", :string
119
+ field :summary, "summary", :string
120
+ field :sentiment, "sentiment", :string
121
+ field :sentiment_score, "sentiment_score", :float
122
+ field :source_url, "source_url", :string
123
+ field :thumbnail, "thumbnail", :string
124
+ field :country, "country", :string
125
+ field :author_name, "author_name", :string
126
+ field :publication_date, "publication_date", :string
127
+ field :adverse_keywords, "adverse_keywords", [:array, :string]
128
+ field :other_sources, "other_sources", [:array, :string]
129
+ end
130
+
131
+ class AmlScreenResponseAmlHitsLinkedEntities < Didit::Model
132
+ field :name, "name", [:array, :string]
133
+ field :relation, "relation", [:array, :string]
134
+ field :status, "status", [:array, :string]
135
+ field :details, "details", [:array, :string]
136
+ field :active, "active", [:array, :string]
137
+ end
138
+
139
+ class AmlScreenResponseAmlHitsPepMatches < Didit::Model
140
+ field :list_name, "list_name", :string
141
+ field :publisher, "publisher", :string
142
+ field :source_url, "source_url", :string
143
+ field :description, "description", :string
144
+ field :matched_name, "matched_name", :string
145
+ field :pep_position, "pep_position", :string
146
+ field :date_of_birth, "date_of_birth", :string
147
+ field :place_of_birth, "place_of_birth", :string
148
+ field :aliases, "aliases", [:array, :string]
149
+ field :education, "education", [:array, :string]
150
+ field :other_sources, "other_sources", [:array, :string]
151
+ end
152
+
153
+ # How `match_score` was computed. Name, date of birth, and country each contribute `<component>_score` ×
154
+ # `<component>_weight_normalized` points; weights are re-normalized when a component is missing from the screened
155
+ # data. The document number is not weighted - it acts as a 'golden key': `MATCH` overrides the score to 100,
156
+ # `NEUTRAL` leaves it unchanged, `HARD_MISMATCH` applies a penalty.
157
+ class AmlScreenResponseAmlHitsScoreBreakdown < Didit::Model
158
+ field :name_score, "name_score", :integer
159
+ field :name_weight, "name_weight", :integer
160
+ field :name_weight_normalized, "name_weight_normalized", :float
161
+ field :name_contribution, "name_contribution", :float
162
+ field :dob_score, "dob_score", :integer
163
+ field :dob_weight, "dob_weight", :integer
164
+ field :dob_weight_normalized, "dob_weight_normalized", :float
165
+ field :dob_contribution, "dob_contribution", :float
166
+ field :country_score, "country_score", :integer
167
+ field :country_weight, "country_weight", :integer
168
+ field :country_weight_normalized, "country_weight_normalized", :float
169
+ field :country_contribution, "country_contribution", :float
170
+ field :document_number_match_type, "document_number_match_type", :string
171
+ field :document_number_effect, "document_number_effect", :string
172
+ field :total_score, "total_score", :integer
173
+ end
174
+
175
+ # Echo of what was screened: `full_name`, `date_of_birth`, `nationality`, `document_number` (absent fields are
176
+ # `null`).
177
+ class AmlScreenResponseAmlScreenedData < Didit::Model
178
+ field :full_name, "full_name", :string
179
+ field :date_of_birth, "date_of_birth", :string
180
+ field :nationality, "nationality", :string
181
+ field :document_number, "document_number", :string
182
+ end
183
+
184
+ class AmlScreenResponseAmlWarnings < Didit::Model
185
+ field :feature, "feature", :string
186
+ field :risk, "risk", :string
187
+ field :additional_data, "additional_data", :any
188
+ field :log_type, "log_type", :string
189
+ field :short_description, "short_description", :string
190
+ field :long_description, "long_description", :string
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,73 @@
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 AmlMonitoringRetrieveJobResponseResultsOutcome
8
+ ENABLED = "enabled"
9
+ SCREENED_AND_ENABLED = "screened_and_enabled"
10
+ ALREADY_ENABLED = "already_enabled"
11
+ DISABLED = "disabled"
12
+ SKIPPED_NO_IDENTITY_DATA = "skipped_no_identity_data"
13
+ SKIPPED_BLOCKED = "skipped_blocked"
14
+ SKIPPED_SANDBOX = "skipped_sandbox"
15
+ FAILED_PROVIDER = "failed_provider"
16
+ FAILED_INSUFFICIENT_BALANCE = "failed_insufficient_balance"
17
+
18
+ VALUES = [ENABLED, SCREENED_AND_ENABLED, ALREADY_ENABLED, DISABLED, SKIPPED_NO_IDENTITY_DATA, SKIPPED_BLOCKED, SKIPPED_SANDBOX, FAILED_PROVIDER, FAILED_INSUFFICIENT_BALANCE].freeze
19
+ end
20
+
21
+ # Known values of an open enum: the API may send others.
22
+ module AmlMonitoringRetrieveJobResponseStatus
23
+ PENDING = "PENDING"
24
+ PROCESSING = "PROCESSING"
25
+ COMPLETED = "COMPLETED"
26
+ FAILED = "FAILED"
27
+
28
+ VALUES = [PENDING, PROCESSING, COMPLETED, FAILED].freeze
29
+ end
30
+
31
+ # Which profile family the job toggles.
32
+ module AmlMonitoringRetrieveJobResponseTargetType
33
+ USER = "user"
34
+ BUSINESS = "business"
35
+
36
+ VALUES = [USER, BUSINESS].freeze
37
+ end
38
+
39
+ class AmlMonitoringRetrieveJobResponse < Didit::Model
40
+ field :job_id, "job_id", :string
41
+ field :status, "status", :string
42
+ field :is_enabled, "is_enabled", :boolean
43
+ field :target_type, "target_type", :string
44
+ field :total, "total", :integer
45
+ field :processed, "processed", :integer
46
+ field :outcomes, "outcomes", "AmlMonitoringRetrieveJobResponseOutcomes"
47
+ field :results, "results", [:array, "AmlMonitoringRetrieveJobResponseResults"]
48
+ field :error, "error", :string
49
+ field :created_at, "created_at", :datetime
50
+ field :completed_at, "completed_at", :datetime
51
+ end
52
+
53
+ # Per-record outcome counters. Every selected profile resolves to exactly one counter; nothing is silently
54
+ # skipped.
55
+ class AmlMonitoringRetrieveJobResponseOutcomes < Didit::Model
56
+ field :enabled, "enabled", :integer
57
+ field :screened_and_enabled, "screened_and_enabled", :integer
58
+ field :already_enabled, "already_enabled", :integer
59
+ field :disabled, "disabled", :integer
60
+ field :skipped_no_identity_data, "skipped_no_identity_data", :integer
61
+ field :skipped_blocked, "skipped_blocked", :integer
62
+ field :skipped_sandbox, "skipped_sandbox", :integer
63
+ field :failed_provider, "failed_provider", :integer
64
+ field :failed_insufficient_balance, "failed_insufficient_balance", :integer
65
+ end
66
+
67
+ class AmlMonitoringRetrieveJobResponseResults < Didit::Model
68
+ field :didit_internal_id, "didit_internal_id", :string
69
+ field :vendor_data, "vendor_data", :string
70
+ field :outcome, "outcome", :string
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,62 @@
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 AnalyticsRetrieveParamsScope
8
+ HOME = "home"
9
+ KYC = "kyc"
10
+ KYB = "kyb"
11
+ TRANSACTIONS = "transactions"
12
+
13
+ VALUES = [HOME, KYC, KYB, TRANSACTIONS].freeze
14
+ end
15
+
16
+ # How the `*_time_series` lists are grouped: `day` for up to 14 days, `week` up to 90, `month` beyond. Measured
17
+ # from the first day with sessions in the range.
18
+ module AnalyticsRetrieveResponseGroupingMode
19
+ DAY = "day"
20
+ WEEK = "week"
21
+ MONTH = "month"
22
+
23
+ VALUES = [DAY, WEEK, MONTH].freeze
24
+ end
25
+
26
+ # Dashboard tab.
27
+ module AnalyticsRetrieveResponseScope
28
+ HOME = "home"
29
+ KYC = "kyc"
30
+ KYB = "kyb"
31
+ TRANSACTIONS = "transactions"
32
+
33
+ VALUES = [HOME, KYC, KYB, TRANSACTIONS].freeze
34
+ end
35
+
36
+ class AnalyticsRetrieveResponse < Didit::Model
37
+ field :data_points, "data_points", [:array, "ApplicationAnalyticsDataPoint"]
38
+ field :request_breakdown, "request_breakdown", "ApplicationAnalyticsRequestBreakdown"
39
+ field :previous_data_points, "previous_data_points", [:array, "ApplicationAnalyticsDataPoint"]
40
+ field :previous_request_breakdown, "previous_request_breakdown", "ApplicationAnalyticsRequestBreakdown"
41
+ field :conversion_rate, "conversion_rate", :float
42
+ field :location_stats, "location_stats", "ApplicationAnalyticsLocationStats"
43
+ field :demographic_stats, "demographic_stats", "ApplicationAnalyticsDemographicStats"
44
+ field :device_details, "device_details", "ApplicationAnalyticsDeviceDetails"
45
+ field :workflow_funnel_stats, "workflow_funnel_stats", [:map, "ApplicationAnalyticsWorkflowFunnelValue"]
46
+ field :verification_time_stats, "verification_time_stats", "ApplicationAnalyticsVerificationTimeStats"
47
+ field :resubmission_stats, "resubmission_stats", "ApplicationAnalyticsResubmissionStats"
48
+ field :warning_stats, "warning_stats", [:map, "ApplicationAnalyticsWarningStatsValue"]
49
+ field :original_status_stats, "original_status_stats", "ApplicationAnalyticsOriginalStatusStats"
50
+ field :grouping_mode, "grouping_mode", :string
51
+ field :demographic_time_series, "demographic_time_series", [:array, "ApplicationAnalyticsDemographicPoint"]
52
+ field :device_time_series, "device_time_series", [:array, "ApplicationAnalyticsDevicePoint"]
53
+ field :verification_time_time_series, "verification_time_time_series", [:array, "ApplicationAnalyticsVerificationTimePoint"]
54
+ field :resubmission_time_series, "resubmission_time_series", [:array, "ApplicationAnalyticsResubmissionPoint"]
55
+ field :original_status_time_series, "original_status_time_series", [:array, "ApplicationAnalyticsOriginalStatusPoint"]
56
+ field :scope, "scope", :string
57
+ field :available_widget_keys, "available_widget_keys", [:array, :string]
58
+ field :requested_widget_keys, "requested_widget_keys", [:array, :string]
59
+ field :widgets, "widgets", [:map, "ApplicationAnalyticsWidget"]
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,8 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+
7
+ end
8
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ class BillingRetrieveBalanceResponse < Didit::Model
7
+ field :balance, "balance", :string
8
+ field :auto_refill_enabled, "auto_refill_enabled", :boolean
9
+ field :auto_refill_amount, "auto_refill_amount", :string
10
+ field :auto_refill_threshold, "auto_refill_threshold", :string
11
+ end
12
+
13
+ class BillingTopUpResponse < Didit::Model
14
+ field :checkout_session_id, "checkout_session_id", :string
15
+ field :checkout_session_url, "checkout_session_url", :string
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,292 @@
1
+ # Code generated by codegen from openapi/*.json. DO NOT EDIT.
2
+ # frozen_string_literal: true
3
+
4
+ module Didit
5
+ module Types
6
+ # Only with `delete_all`.
7
+ module BiometricTemplatesBatchDeleteParamsSourceType
8
+ SESSION_DELETE = "session_delete"
9
+ AUTOMATIC_RETENTION = "automatic_retention"
10
+ BACKFILL = "backfill"
11
+
12
+ VALUES = [SESSION_DELETE, AUTOMATIC_RETENTION, BACKFILL].freeze
13
+ end
14
+
15
+ # Only with `delete_all`.
16
+ module BiometricTemplatesBatchDeleteParamsStatus
17
+ PENDING = "pending"
18
+ ACTIVE = "active"
19
+ EXPIRED = "expired"
20
+ HELD_OUT_OF_USE = "held_out_of_use"
21
+ PURGE_PENDING = "purge_pending"
22
+ PURGE_FAILED = "purge_failed"
23
+
24
+ VALUES = [PENDING, ACTIVE, EXPIRED, HELD_OUT_OF_USE, PURGE_PENDING, PURGE_FAILED].freeze
25
+ end
26
+
27
+ # Known values of an open enum: the API may send others.
28
+ module BiometricTemplatesBatchDeleteResponseResultsOutcome
29
+ PURGED = "purged"
30
+ ALREADY_PURGED = "already_purged"
31
+
32
+ VALUES = [PURGED, ALREADY_PURGED].freeze
33
+ end
34
+
35
+ # Known values of an open enum: the API may send others.
36
+ module BiometricTemplatesCountParamsSourceType
37
+ SESSION_DELETE = "session_delete"
38
+ AUTOMATIC_RETENTION = "automatic_retention"
39
+ BACKFILL = "backfill"
40
+
41
+ VALUES = [SESSION_DELETE, AUTOMATIC_RETENTION, BACKFILL].freeze
42
+ end
43
+
44
+ # Known values of an open enum: the API may send others.
45
+ module BiometricTemplatesCountParamsStatus
46
+ PENDING = "pending"
47
+ ACTIVE = "active"
48
+ EXPIRED = "expired"
49
+ HELD_OUT_OF_USE = "held_out_of_use"
50
+ PURGE_PENDING = "purge_pending"
51
+ PURGE_FAILED = "purge_failed"
52
+
53
+ VALUES = [PENDING, ACTIVE, EXPIRED, HELD_OUT_OF_USE, PURGE_PENDING, PURGE_FAILED].freeze
54
+ end
55
+
56
+ # Known values of an open enum: the API may send others.
57
+ module BiometricTemplatesDeleteResponseOutcome
58
+ PURGED = "purged"
59
+ ALREADY_PURGED = "already_purged"
60
+
61
+ VALUES = [PURGED, ALREADY_PURGED].freeze
62
+ end
63
+
64
+ # Known values of an open enum: the API may send others.
65
+ module BiometricTemplatesListParamsOrdering
66
+ RETAINED_AT = "retained_at"
67
+ RETAINED_AT_ = "-retained_at"
68
+ EXPIRES_AT = "expires_at"
69
+ EXPIRES_AT_ = "-expires_at"
70
+
71
+ VALUES = [RETAINED_AT, RETAINED_AT_, EXPIRES_AT, EXPIRES_AT_].freeze
72
+ end
73
+
74
+ # Known values of an open enum: the API may send others.
75
+ module BiometricTemplatesListParamsSourceType
76
+ SESSION_DELETE = "session_delete"
77
+ AUTOMATIC_RETENTION = "automatic_retention"
78
+ BACKFILL = "backfill"
79
+
80
+ VALUES = [SESSION_DELETE, AUTOMATIC_RETENTION, BACKFILL].freeze
81
+ end
82
+
83
+ # Known values of an open enum: the API may send others.
84
+ module BiometricTemplatesListParamsStatus
85
+ PENDING = "pending"
86
+ ACTIVE = "active"
87
+ EXPIRED = "expired"
88
+ HELD_OUT_OF_USE = "held_out_of_use"
89
+ PURGE_PENDING = "purge_pending"
90
+ PURGE_FAILED = "purge_failed"
91
+
92
+ VALUES = [PENDING, ACTIVE, EXPIRED, HELD_OUT_OF_USE, PURGE_PENDING, PURGE_FAILED].freeze
93
+ end
94
+
95
+ # Known values of an open enum: the API may send others.
96
+ module BiometricTemplatesListResponseResultsInstructionClass
97
+ OPERATIONAL_SESSION_DELETE = "operational_session_delete"
98
+ PRIVACY_ERASURE = "privacy_erasure"
99
+
100
+ VALUES = [OPERATIONAL_SESSION_DELETE, PRIVACY_ERASURE].freeze
101
+ end
102
+
103
+ # Known values of an open enum: the API may send others.
104
+ module BiometricTemplatesListResponseResultsInstructionSource
105
+ API = "api"
106
+ CONSOLE = "console"
107
+ AUTOMATIC_RETENTION = "automatic_retention"
108
+ BACKFILL = "backfill"
109
+ PRIVACY_ERASURE = "privacy_erasure"
110
+ EXPLICIT_TEMPLATE_PURGE = "explicit_template_purge"
111
+ VENDOR_USER_DELETE = "vendor_user_delete"
112
+ EXPIRY = "expiry"
113
+ RECONCILIATION = "reconciliation"
114
+ MIGRATION = "migration"
115
+ SYSTEM = "system"
116
+
117
+ VALUES = [API, CONSOLE, AUTOMATIC_RETENTION, BACKFILL, PRIVACY_ERASURE, EXPLICIT_TEMPLATE_PURGE, VENDOR_USER_DELETE, EXPIRY, RECONCILIATION, MIGRATION, SYSTEM].freeze
118
+ end
119
+
120
+ # Known values of an open enum: the API may send others.
121
+ module BiometricTemplatesListResponseResultsRetainedByType
122
+ API_KEY = "API_KEY"
123
+ CONSOLE_USER = "CONSOLE_USER"
124
+ SYSTEM = "SYSTEM"
125
+
126
+ VALUES = [API_KEY, CONSOLE_USER, SYSTEM].freeze
127
+ end
128
+
129
+ # The application policy at retention time.
130
+ module BiometricTemplatesListResponseResultsRetentionPolicy
131
+ DELETE_WITH_SESSION = "delete_with_session"
132
+ RETAIN_UNTIL_USER_DELETED = "retain_until_user_deleted"
133
+
134
+ VALUES = [DELETE_WITH_SESSION, RETAIN_UNTIL_USER_DELETED].freeze
135
+ end
136
+
137
+ # How the template was created: a session deletion (API or Console), the application's automatic data-retention
138
+ # window, or a Didit-operated backfill you instructed.
139
+ module BiometricTemplatesListResponseResultsSourceType
140
+ SESSION_DELETE = "session_delete"
141
+ AUTOMATIC_RETENTION = "automatic_retention"
142
+ BACKFILL = "backfill"
143
+
144
+ VALUES = [SESSION_DELETE, AUTOMATIC_RETENTION, BACKFILL].freeze
145
+ end
146
+
147
+ # Only `active` templates that are not held, not past `expires_at`, and whose User still exists take part in
148
+ # matching.
149
+ module BiometricTemplatesListResponseResultsStatus
150
+ PENDING = "pending"
151
+ ACTIVE = "active"
152
+ EXPIRED = "expired"
153
+ HELD_OUT_OF_USE = "held_out_of_use"
154
+ PURGE_PENDING = "purge_pending"
155
+ PURGE_FAILED = "purge_failed"
156
+ PURGED = "purged"
157
+
158
+ VALUES = [PENDING, ACTIVE, EXPIRED, HELD_OUT_OF_USE, PURGE_PENDING, PURGE_FAILED, PURGED].freeze
159
+ end
160
+
161
+ # Known values of an open enum: the API may send others.
162
+ module BiometricTemplatesRetrieveResponseInstructionClass
163
+ OPERATIONAL_SESSION_DELETE = "operational_session_delete"
164
+ PRIVACY_ERASURE = "privacy_erasure"
165
+
166
+ VALUES = [OPERATIONAL_SESSION_DELETE, PRIVACY_ERASURE].freeze
167
+ end
168
+
169
+ # Known values of an open enum: the API may send others.
170
+ module BiometricTemplatesRetrieveResponseInstructionSource
171
+ API = "api"
172
+ CONSOLE = "console"
173
+ AUTOMATIC_RETENTION = "automatic_retention"
174
+ BACKFILL = "backfill"
175
+ PRIVACY_ERASURE = "privacy_erasure"
176
+ EXPLICIT_TEMPLATE_PURGE = "explicit_template_purge"
177
+ VENDOR_USER_DELETE = "vendor_user_delete"
178
+ EXPIRY = "expiry"
179
+ RECONCILIATION = "reconciliation"
180
+ MIGRATION = "migration"
181
+ SYSTEM = "system"
182
+
183
+ VALUES = [API, CONSOLE, AUTOMATIC_RETENTION, BACKFILL, PRIVACY_ERASURE, EXPLICIT_TEMPLATE_PURGE, VENDOR_USER_DELETE, EXPIRY, RECONCILIATION, MIGRATION, SYSTEM].freeze
184
+ end
185
+
186
+ # Known values of an open enum: the API may send others.
187
+ module BiometricTemplatesRetrieveResponseRetainedByType
188
+ API_KEY = "API_KEY"
189
+ CONSOLE_USER = "CONSOLE_USER"
190
+ SYSTEM = "SYSTEM"
191
+
192
+ VALUES = [API_KEY, CONSOLE_USER, SYSTEM].freeze
193
+ end
194
+
195
+ # The application policy at retention time.
196
+ module BiometricTemplatesRetrieveResponseRetentionPolicy
197
+ DELETE_WITH_SESSION = "delete_with_session"
198
+ RETAIN_UNTIL_USER_DELETED = "retain_until_user_deleted"
199
+
200
+ VALUES = [DELETE_WITH_SESSION, RETAIN_UNTIL_USER_DELETED].freeze
201
+ end
202
+
203
+ # How the template was created: a session deletion (API or Console), the application's automatic data-retention
204
+ # window, or a Didit-operated backfill you instructed.
205
+ module BiometricTemplatesRetrieveResponseSourceType
206
+ SESSION_DELETE = "session_delete"
207
+ AUTOMATIC_RETENTION = "automatic_retention"
208
+ BACKFILL = "backfill"
209
+
210
+ VALUES = [SESSION_DELETE, AUTOMATIC_RETENTION, BACKFILL].freeze
211
+ end
212
+
213
+ # Only `active` templates that are not held, not past `expires_at`, and whose User still exists take part in
214
+ # matching.
215
+ module BiometricTemplatesRetrieveResponseStatus
216
+ PENDING = "pending"
217
+ ACTIVE = "active"
218
+ EXPIRED = "expired"
219
+ HELD_OUT_OF_USE = "held_out_of_use"
220
+ PURGE_PENDING = "purge_pending"
221
+ PURGE_FAILED = "purge_failed"
222
+ PURGED = "purged"
223
+
224
+ VALUES = [PENDING, ACTIVE, EXPIRED, HELD_OUT_OF_USE, PURGE_PENDING, PURGE_FAILED, PURGED].freeze
225
+ end
226
+
227
+ class BiometricTemplatesBatchDeleteResponse < Didit::Model
228
+ field :results, "results", [:array, "BiometricTemplatesBatchDeleteResponseResults"]
229
+ end
230
+
231
+ class BiometricTemplatesBatchDeleteResponseResults < Didit::Model
232
+ field :uuid, "uuid", :string
233
+ field :outcome, "outcome", :string
234
+ end
235
+
236
+ class BiometricTemplatesCountResponse < Didit::Model
237
+ field :count, "count", :integer
238
+ end
239
+
240
+ class BiometricTemplatesDeleteResponse < Didit::Model
241
+ field :uuid, "uuid", :string
242
+ field :outcome, "outcome", :string
243
+ end
244
+
245
+ class BiometricTemplatesListResponse < Didit::Model
246
+ field :count, "count", :integer
247
+ field :next, "next", :string
248
+ field :previous, "previous", :string
249
+ field :results, "results", [:array, "BiometricTemplatesListResponseResults"]
250
+ end
251
+
252
+ class BiometricTemplatesListResponseResults < Didit::Model
253
+ field :uuid, "uuid", :string
254
+ field :vendor_user_uuid, "vendor_user_uuid", :string
255
+ field :vendor_data, "vendor_data", :string
256
+ field :source_type, "source_type", :string
257
+ field :provenance_reference, "provenance_reference", :string
258
+ field :retention_policy, "retention_policy", :string
259
+ field :retention_override, "retention_override", :boolean
260
+ field :retained_at, "retained_at", :datetime
261
+ field :expires_at, "expires_at", :datetime
262
+ field :retained_by, "retained_by", :string
263
+ field :retained_by_type, "retained_by_type", :string
264
+ field :instruction_class, "instruction_class", :string
265
+ field :instruction_source, "instruction_source", :string
266
+ field :instruction_id, "instruction_id", :string
267
+ field :held_out_of_use, "held_out_of_use", :boolean
268
+ field :status, "status", :string
269
+ field :purged_at, "purged_at", :datetime
270
+ end
271
+
272
+ class BiometricTemplatesRetrieveResponse < Didit::Model
273
+ field :uuid, "uuid", :string
274
+ field :vendor_user_uuid, "vendor_user_uuid", :string
275
+ field :vendor_data, "vendor_data", :string
276
+ field :source_type, "source_type", :string
277
+ field :provenance_reference, "provenance_reference", :string
278
+ field :retention_policy, "retention_policy", :string
279
+ field :retention_override, "retention_override", :boolean
280
+ field :retained_at, "retained_at", :datetime
281
+ field :expires_at, "expires_at", :datetime
282
+ field :retained_by, "retained_by", :string
283
+ field :retained_by_type, "retained_by_type", :string
284
+ field :instruction_class, "instruction_class", :string
285
+ field :instruction_source, "instruction_source", :string
286
+ field :instruction_id, "instruction_id", :string
287
+ field :held_out_of_use, "held_out_of_use", :boolean
288
+ field :status, "status", :string
289
+ field :purged_at, "purged_at", :datetime
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,31 @@
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 BlocklistListParamsItemType
8
+ FACE = "face"
9
+ DOCUMENT = "document"
10
+ PHONE = "phone"
11
+ EMAIL = "email"
12
+
13
+ VALUES = [FACE, DOCUMENT, PHONE, EMAIL].freeze
14
+ end
15
+
16
+ class BlocklistAddResponse < Didit::Model
17
+ field :message, "message", :string
18
+ end
19
+
20
+ class BlocklistListResponse < Didit::Model
21
+ field :count, "count", :integer
22
+ field :next, "next", :string
23
+ field :previous, "previous", :string
24
+ field :results, "results", [:array, "BlocklistedItem"]
25
+ end
26
+
27
+ class BlocklistRemoveResponse < Didit::Model
28
+ field :message, "message", :string
29
+ end
30
+ end
31
+ end