@nexeraid/identity-schemas 1.12.22-dev → 1.12.24-dev
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.
- package/dist/chainalysis.schema-9e5926b9.esm.js +2316 -0
- package/dist/chainalysis.schema-a9079d73.cjs.prod.js +2582 -0
- package/dist/chainalysis.schema-ab6cda47.cjs.dev.js +2582 -0
- package/dist/declarations/src/index.d.ts +4 -4
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/declarations/src/providers/big/BIGBitRankVerifiedScore.schema.d.ts +1735 -0
- package/dist/declarations/src/providers/big/BIGBitRankVerifiedScore.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/chainalysis/chainalysis.schema.d.ts +759 -0
- package/dist/declarations/src/providers/chainalysis/chainalysis.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/comply-advantage/comply-advantage.schema.d.ts +5735 -0
- package/dist/declarations/src/providers/comply-advantage/comply-advantage.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/customers.schema.d.ts +92 -0
- package/dist/declarations/src/providers/customers.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/index.d.ts +16 -0
- package/dist/declarations/src/providers/index.d.ts.map +1 -0
- package/dist/declarations/src/providers/ipquality/ipquality.schema.d.ts +1582 -0
- package/dist/declarations/src/providers/ipquality/ipquality.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/kyb-sessions.schema.d.ts +307 -0
- package/dist/declarations/src/providers/kyb-sessions.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/kyc-sessions.schema.d.ts +969 -0
- package/dist/declarations/src/providers/kyc-sessions.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/merkle-science/merkle-science.schema.d.ts +604 -0
- package/dist/declarations/src/providers/merkle-science/merkle-science.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/provider.schema.d.ts +10861 -0
- package/dist/declarations/src/providers/provider.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/scorechain/scorechain.schema.d.ts +3991 -0
- package/dist/declarations/src/providers/scorechain/scorechain.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/sumsub/sumsub-applicant.schema.d.ts +6460 -0
- package/dist/declarations/src/providers/sumsub/sumsub-applicant.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/sumsub/sumsub-reject.schema.d.ts +12 -0
- package/dist/declarations/src/providers/sumsub/sumsub-reject.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/sumsub/sumsub-webhooks.schema.d.ts +187 -0
- package/dist/declarations/src/providers/sumsub/sumsub-webhooks.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/sumsub/sumsub.schema.d.ts +314 -0
- package/dist/declarations/src/providers/sumsub/sumsub.schema.d.ts.map +1 -0
- package/dist/declarations/src/providers/synaps/synaps.schema.d.ts +4071 -0
- package/dist/declarations/src/providers/synaps/synaps.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/alert.schema.d.ts +98 -0
- package/dist/declarations/src/webhooks/alert.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/alert.webhooks.schema.d.ts +43 -0
- package/dist/declarations/src/webhooks/alert.webhooks.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/customer.webhooks.schema.d.ts +479 -0
- package/dist/declarations/src/webhooks/customer.webhooks.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/index.d.ts +7 -0
- package/dist/declarations/src/webhooks/index.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/scenario-webhook.schema.d.ts +195 -0
- package/dist/declarations/src/webhooks/scenario-webhook.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/send-verification-flow-webhook.schema.d.ts +12605 -0
- package/dist/declarations/src/webhooks/send-verification-flow-webhook.schema.d.ts.map +1 -0
- package/dist/declarations/src/webhooks/svix.webhooks.schema.d.ts +71149 -0
- package/dist/declarations/src/webhooks/svix.webhooks.schema.d.ts.map +1 -0
- package/dist/{frontend-utilities.schema-c327466a.cjs.prod.js → frontend-utilities.schema-9951d168.cjs.prod.js} +1 -1
- package/dist/{frontend-utilities.schema-1699cc67.esm.js → frontend-utilities.schema-c150e92a.esm.js} +1 -1
- package/dist/{frontend-utilities.schema-9b6dbb5e.cjs.dev.js → frontend-utilities.schema-c3ccca7b.cjs.dev.js} +1 -1
- package/dist/{identity-api.schema-6c0e3df3.cjs.prod.js → identity-api.schema-181d93d3.cjs.prod.js} +1266 -1271
- package/dist/{identity-api.schema-b7ca0eb2.esm.js → identity-api.schema-2df73bbd.esm.js} +1265 -1272
- package/dist/{identity-api.schema-5be99363.cjs.dev.js → identity-api.schema-8832ddec.cjs.dev.js} +1266 -1271
- package/dist/nexeraid-identity-schemas.cjs.dev.js +2 -2
- package/dist/nexeraid-identity-schemas.cjs.prod.js +2 -2
- package/dist/nexeraid-identity-schemas.esm.js +3 -3
- package/dist/package.json +15 -3
- package/identity/dist/nexeraid-identity-schemas-identity.cjs.dev.js +1 -1
- package/identity/dist/nexeraid-identity-schemas-identity.cjs.prod.js +1 -1
- package/identity/dist/nexeraid-identity-schemas-identity.esm.js +1 -1
- package/package.json +15 -3
- package/providers/dist/nexeraid-identity-schemas-providers.cjs.d.ts +2 -0
- package/providers/dist/nexeraid-identity-schemas-providers.cjs.dev.js +276 -0
- package/providers/dist/nexeraid-identity-schemas-providers.cjs.js +7 -0
- package/providers/dist/nexeraid-identity-schemas-providers.cjs.prod.js +276 -0
- package/providers/dist/nexeraid-identity-schemas-providers.esm.js +4 -0
- package/providers/package.json +4 -0
- package/verifiable-credentials/dist/nexeraid-identity-schemas-verifiable-credentials.cjs.dev.js +2 -2
- package/verifiable-credentials/dist/nexeraid-identity-schemas-verifiable-credentials.cjs.prod.js +2 -2
- package/verifiable-credentials/dist/nexeraid-identity-schemas-verifiable-credentials.esm.js +2 -2
- package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.d.ts +2 -0
- package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.dev.js +672 -0
- package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.js +7 -0
- package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.prod.js +672 -0
- package/webhooks/dist/nexeraid-identity-schemas-webhooks.esm.js +585 -0
- package/webhooks/package.json +4 -0
|
@@ -0,0 +1,2316 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { a2 as BlockchainAddress, z as AddressSchema, ak as Alpha2Country, ae as UuidString, dZ as _toConsumableArray, ai as ISO3CountryCode, a5 as BlockchainNamespace, br as SdkVerificationOutput, aA as CustomerStatus, d$ as _defineProperty, dQ as ProofOfResidenceCredentialSubjectSchema, ch as QrCodeLinkWithSchemaType, aB as BasicCustomerContactInformation, dW as CredentialType } from './identity-api.schema-2df73bbd.esm.js';
|
|
3
|
+
|
|
4
|
+
// based on https://tech-doc.api.scorechain.com/
|
|
5
|
+
var ANALYSIS_TYPES = ["ASSIGNED", "INCOMING", "OUTGOING", "FULL"];
|
|
6
|
+
var AnalysisType = z["enum"](ANALYSIS_TYPES);
|
|
7
|
+
var OBJECT_TYPES = ["TRANSACTION", "ADDRESS", "WALLET"];
|
|
8
|
+
var ObjectType = z["enum"](OBJECT_TYPES);
|
|
9
|
+
var BLOCKCHAIN_TYPES = ["BITCOIN", "BITCOINCASH", "LITECOIN", "DASH", "ETHEREUM", "RIPPLE", "TEZOS", "TRON", "BSC", "POLYGON", "AVALANCHE", "BASE", "SOLANA"];
|
|
10
|
+
var Blockchain = z["enum"](BLOCKCHAIN_TYPES);
|
|
11
|
+
var Coin = z.union([z.string(), z.literal("MAIN"), z.literal("ALL")]).describe("Coin (Use MAIN according to the docs)");
|
|
12
|
+
var RiskSeverity = z["enum"](["CRITICAL_RISK", "HIGH_RISK", "MEDIUM_RISK", "LOW_RISK", "NO_RISK", "UNDEFINED_RISK"]);
|
|
13
|
+
var EntityType = z["enum"](["Airdrop", "Bank", "Child abuse", "Closed exchange", "Cloud mining", "Community reported scam", "Cross-chain Bridge Protocol", "Custom group", "Darkweb", "Decentralized service", "Dex", "Donations", "Exchange", "Gambling", "Hack", "ICO", "Large unnamed entity", "Mining pool", "Mixing service", "NFT Marketplace", "OFAC sanction list", "Ongoing legal action", "Phishing", "Ransomware", "Sanction list", "Scam", "Service", "Suspicious", "Terrorism", "Token", "Wallet", "Staking pool"]);
|
|
14
|
+
var AiItemResult = z.object({
|
|
15
|
+
type: EntityType.optional(),
|
|
16
|
+
percent: z.number()
|
|
17
|
+
});
|
|
18
|
+
var nullishAiDetails = z.object({
|
|
19
|
+
entityTypeClassifier: z.array(AiItemResult)
|
|
20
|
+
}).nullish();
|
|
21
|
+
var EntityMinimal = z.object({
|
|
22
|
+
id: z.number()["int"]().nullish(),
|
|
23
|
+
name: z.string(),
|
|
24
|
+
type: EntityType.optional(),
|
|
25
|
+
referenceAddress: BlockchainAddress,
|
|
26
|
+
aiDetails: nullishAiDetails.nullish()
|
|
27
|
+
});
|
|
28
|
+
var LinkedEntity = EntityMinimal;
|
|
29
|
+
var RiskAssessment = z.object({
|
|
30
|
+
score: z.number()["int"]().gte(1).lte(100),
|
|
31
|
+
severity: RiskSeverity
|
|
32
|
+
});
|
|
33
|
+
var CustomRiskAssessment = RiskAssessment;
|
|
34
|
+
var RiskIndicatorType = z["enum"](["ENTITY_TYPE", "ENTITY_COUNTRY", "BEHAVIOR"]);
|
|
35
|
+
var BehavioralType = z["enum"](["Unspent output", "Block reward", "Peeling chain of unknown origin", "Payment channel", "Large unnamed entity", "Ignored small amounts", "Maximum exploration depth", "Large transaction", "Mixing pattern", "Secondary coin creation", "Secondary coin removal"]);
|
|
36
|
+
var Countries = z.string();
|
|
37
|
+
var RiskIndicatorReference = z.union([EntityType.optional(), BehavioralType.optional(), Countries]);
|
|
38
|
+
var RiskIndicatorThresholdParameters = z.object({
|
|
39
|
+
referenceId: z.number()["int"](),
|
|
40
|
+
referenceName: RiskIndicatorReference.optional(),
|
|
41
|
+
threshold: z.number()["int"]()
|
|
42
|
+
});
|
|
43
|
+
var RiskIndicatorSetting = z.object({
|
|
44
|
+
id: z.number()["int"](),
|
|
45
|
+
type: RiskIndicatorType,
|
|
46
|
+
parameters: RiskIndicatorThresholdParameters
|
|
47
|
+
});
|
|
48
|
+
var AssignedScore = z.object({
|
|
49
|
+
hasResult: z["boolean"](),
|
|
50
|
+
result: z.object({
|
|
51
|
+
score: z.number()["int"]().min(0).max(100),
|
|
52
|
+
severity: RiskSeverity,
|
|
53
|
+
// enum
|
|
54
|
+
details: z.object({
|
|
55
|
+
entity: LinkedEntity.nullish(),
|
|
56
|
+
transaction: z.object({
|
|
57
|
+
type: z["enum"](["MINING", "MIXING", "LIGHTNING", "CROSS_CHAIN"]),
|
|
58
|
+
riskAssessment: RiskAssessment
|
|
59
|
+
}).nullish(),
|
|
60
|
+
customRiskAssessment: CustomRiskAssessment.nullish()
|
|
61
|
+
})
|
|
62
|
+
}).nullish(),
|
|
63
|
+
risks: z.array(RiskIndicatorSetting).nullish()
|
|
64
|
+
});
|
|
65
|
+
var ScoringResultType = z.union([EntityType, BehavioralType]);
|
|
66
|
+
var ScoringItem = z.object({
|
|
67
|
+
referenceAddress: BlockchainAddress,
|
|
68
|
+
amount: z.number(),
|
|
69
|
+
amountUsd: z.number().nullish(),
|
|
70
|
+
percentage: z.number(),
|
|
71
|
+
name: z.string(),
|
|
72
|
+
type: ScoringResultType.optional(),
|
|
73
|
+
countries: z.array(Countries),
|
|
74
|
+
score: z.number()["int"]().min(0).max(100),
|
|
75
|
+
severity: RiskSeverity,
|
|
76
|
+
aiDetails: nullishAiDetails.nullish()
|
|
77
|
+
});
|
|
78
|
+
var ScoringRiskItem = z.object({
|
|
79
|
+
setting: RiskIndicatorSetting,
|
|
80
|
+
causes: z.array(ScoringItem).nullish()
|
|
81
|
+
});
|
|
82
|
+
var DynamicScore = z.object({
|
|
83
|
+
hasResult: z["boolean"](),
|
|
84
|
+
result: z.object({
|
|
85
|
+
score: z.number()["int"]().min(0).max(100),
|
|
86
|
+
severity: RiskSeverity,
|
|
87
|
+
details: z.array(ScoringItem).nullish(),
|
|
88
|
+
risks: z.array(ScoringRiskItem).nullish()
|
|
89
|
+
}).nullish()
|
|
90
|
+
});
|
|
91
|
+
var WALLET_NOT_FOUND = z.object({
|
|
92
|
+
error: z.literal("NOT_FOUND_WALLET"),
|
|
93
|
+
message: z.string()
|
|
94
|
+
});
|
|
95
|
+
var INVALID_PARAMETER_BLOCKCHAIN = z.object({
|
|
96
|
+
error: z.literal("INVALID_PARAMETER_BLOCKCHAIN"),
|
|
97
|
+
message: z.string()
|
|
98
|
+
});
|
|
99
|
+
var UNAUTHORIZED = z.object({
|
|
100
|
+
error: z.literal("UNAUTHORIZED"),
|
|
101
|
+
message: z.string()
|
|
102
|
+
});
|
|
103
|
+
var FORBIDDEN_LICENSE_LIMIT_REACHED = z.object({
|
|
104
|
+
error: z.literal("FORBIDDEN_LICENSE_LIMIT_REACHED"),
|
|
105
|
+
message: z.string()
|
|
106
|
+
});
|
|
107
|
+
var NOT_FOUND_TRANSACTION = z.object({
|
|
108
|
+
error: z.literal("NOT_FOUND_TRANSACTION"),
|
|
109
|
+
message: z.string()
|
|
110
|
+
});
|
|
111
|
+
var UNPROCESSABLE_GLOBAL_SCORE = z.object({
|
|
112
|
+
error: z.literal("UNPROCESSABLE_GLOBAL_SCORE"),
|
|
113
|
+
message: z.string()
|
|
114
|
+
});
|
|
115
|
+
var SERVER_ERROR = z.object({
|
|
116
|
+
error: z.literal("SERVER_ERROR"),
|
|
117
|
+
message: z.string()
|
|
118
|
+
});
|
|
119
|
+
var UNKNOWN_ERROR$3 = z.object({
|
|
120
|
+
error: z.literal("UNKNOWN_ERROR"),
|
|
121
|
+
message: z.string()
|
|
122
|
+
}).describe("This is a fallback error, if scorechain parser fails");
|
|
123
|
+
var RESULT_PARSER_ERROR$3 = z.object({
|
|
124
|
+
error: z.literal("RESULT_PARSER_ERROR"),
|
|
125
|
+
message: z.string(),
|
|
126
|
+
data: z.string()
|
|
127
|
+
}).describe("This is a fallback error, if zod parse fails on result");
|
|
128
|
+
var ScorechainErrorResponse = z.union([z.discriminatedUnion("error", [WALLET_NOT_FOUND, INVALID_PARAMETER_BLOCKCHAIN, UNAUTHORIZED, FORBIDDEN_LICENSE_LIMIT_REACHED, NOT_FOUND_TRANSACTION, UNPROCESSABLE_GLOBAL_SCORE, SERVER_ERROR, UNKNOWN_ERROR$3, RESULT_PARSER_ERROR$3]), z.object({
|
|
129
|
+
error: z.string(),
|
|
130
|
+
message: z.string()
|
|
131
|
+
})]);
|
|
132
|
+
var ScorechainError = z.object({
|
|
133
|
+
error: ScorechainErrorResponse
|
|
134
|
+
});
|
|
135
|
+
var ScorechainAnalysis = z.object({
|
|
136
|
+
id: z.string().uuid(),
|
|
137
|
+
analysis: z.object({
|
|
138
|
+
assigned: AssignedScore,
|
|
139
|
+
incoming: DynamicScore.nullish(),
|
|
140
|
+
outgoing: DynamicScore.nullish()
|
|
141
|
+
}),
|
|
142
|
+
lowestScore: z.number()["int"]().min(0).max(100)
|
|
143
|
+
});
|
|
144
|
+
var ScoringAnalysisResponse = z.union([ScorechainAnalysis, ScorechainError]);
|
|
145
|
+
var ScoringAnalysisRequest = z.object({
|
|
146
|
+
analysisType: AnalysisType.nullish(),
|
|
147
|
+
objectType: ObjectType.nullish(),
|
|
148
|
+
objectId: z.string().nullish().describe("Address or transaction hash, depending on objectType"),
|
|
149
|
+
blockchain: Blockchain.nullish(),
|
|
150
|
+
coin: Coin.nullish(),
|
|
151
|
+
depth: z.coerce.number()["int"]().gte(1).lte(100).nullish()
|
|
152
|
+
});
|
|
153
|
+
var WorkflowsScoringAnalysisRequest = z.object({
|
|
154
|
+
analysisType: AnalysisType.nullish(),
|
|
155
|
+
objectType: ObjectType.nullish(),
|
|
156
|
+
objectId: z.string().nullish().describe("Address or transaction hash, depending on objectType"),
|
|
157
|
+
blockchain: Blockchain.nullish(),
|
|
158
|
+
coin: Coin["default"]("MAIN"),
|
|
159
|
+
depth: z.coerce.number()["int"]().gte(1).lte(100)["default"](1)
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
var IpQualityAnalysisRequest = z.object({
|
|
163
|
+
apiKey: z.string().nullish(),
|
|
164
|
+
ipValue: z.string().nullish(),
|
|
165
|
+
userEmail: z.string().nullish(),
|
|
166
|
+
userPhoneNumber: z.string().nullish()
|
|
167
|
+
});
|
|
168
|
+
var IpQualityAnalysisResponse = z.object({
|
|
169
|
+
success: z["boolean"](),
|
|
170
|
+
request_id: z.string(),
|
|
171
|
+
message: z.string().nullish(),
|
|
172
|
+
fraud_score: z.number()["int"]().min(0).max(100).nullish(),
|
|
173
|
+
country_code: z.string().nullish(),
|
|
174
|
+
region: z.string().nullish(),
|
|
175
|
+
city: z.string().nullish(),
|
|
176
|
+
ISP: z.string().nullish(),
|
|
177
|
+
ASN: z.number().nullish(),
|
|
178
|
+
organization: z.string().nullish(),
|
|
179
|
+
is_crawler: z["boolean"]().nullish(),
|
|
180
|
+
timezone: z.string().nullish(),
|
|
181
|
+
mobile: z["boolean"]().nullish(),
|
|
182
|
+
host: z.string().nullish(),
|
|
183
|
+
proxy: z["boolean"]().nullish(),
|
|
184
|
+
vpn: z["boolean"]().nullish(),
|
|
185
|
+
tor: z["boolean"]().nullish(),
|
|
186
|
+
active_vpn: z["boolean"]().nullish(),
|
|
187
|
+
active_tor: z["boolean"]().nullish(),
|
|
188
|
+
recent_abuse: z["boolean"]().nullish(),
|
|
189
|
+
bot_status: z["boolean"]().nullish(),
|
|
190
|
+
connection_type: z.string().nullish(),
|
|
191
|
+
abuse_velocity: z.string().nullish(),
|
|
192
|
+
zip_code: z.string().nullish(),
|
|
193
|
+
latitude: z.number().nullish(),
|
|
194
|
+
longitude: z.number().nullish()
|
|
195
|
+
});
|
|
196
|
+
var EmailVerificationAnalysisResponse = z.object({
|
|
197
|
+
success: z["boolean"](),
|
|
198
|
+
request_id: z.string(),
|
|
199
|
+
message: z.string().nullish(),
|
|
200
|
+
valid: z["boolean"]().nullish(),
|
|
201
|
+
timed_out: z["boolean"]().nullish(),
|
|
202
|
+
disposable: z["boolean"]().nullish(),
|
|
203
|
+
first_name: z.string().nullish(),
|
|
204
|
+
deliverability: z.string().nullish(),
|
|
205
|
+
smtp_score: z.number().nullish(),
|
|
206
|
+
overall_score: z.number().nullish(),
|
|
207
|
+
catch_all: z["boolean"]().nullish(),
|
|
208
|
+
generic: z["boolean"]().nullish(),
|
|
209
|
+
common: z["boolean"]().nullish(),
|
|
210
|
+
dns_valid: z["boolean"]().nullish(),
|
|
211
|
+
honeypot: z["boolean"]().nullish(),
|
|
212
|
+
frequent_complainer: z["boolean"]().nullish(),
|
|
213
|
+
suspect: z["boolean"]().nullish(),
|
|
214
|
+
recent_abuse: z["boolean"]().nullish(),
|
|
215
|
+
fraud_score: z.number().min(0).max(100).nullish(),
|
|
216
|
+
leaked: z["boolean"]().nullish(),
|
|
217
|
+
suggested_domain: z.string().nullish(),
|
|
218
|
+
domain_velocity: z.string().nullish(),
|
|
219
|
+
user_activity: z.string().nullish(),
|
|
220
|
+
associated_names: z.object({
|
|
221
|
+
status: z.string().nullish(),
|
|
222
|
+
names: z.array(z.string()).nullish()
|
|
223
|
+
}).nullish(),
|
|
224
|
+
associated_phone_numbers: z.object({
|
|
225
|
+
status: z.string().nullish(),
|
|
226
|
+
phone_numbers: z.array(z.string()).nullish()
|
|
227
|
+
}).nullish(),
|
|
228
|
+
first_seen: z.object({
|
|
229
|
+
human: z.string().nullish(),
|
|
230
|
+
timestamp: z.number().nullish(),
|
|
231
|
+
iso: z.string().nullish()
|
|
232
|
+
}).nullish(),
|
|
233
|
+
domain_age: z.object({
|
|
234
|
+
human: z.string().nullish(),
|
|
235
|
+
timestamp: z.number().nullish(),
|
|
236
|
+
iso: z.string().nullish()
|
|
237
|
+
}).nullish(),
|
|
238
|
+
spam_trap_score: z.string().nullish(),
|
|
239
|
+
sanitized_email: z.string().nullish()
|
|
240
|
+
});
|
|
241
|
+
var PhoneVerificationAnalysisResponse = z.object({
|
|
242
|
+
success: z["boolean"](),
|
|
243
|
+
request_id: z.string(),
|
|
244
|
+
message: z.string().nullish(),
|
|
245
|
+
formatted: z.string().nullish(),
|
|
246
|
+
local_format: z.string().nullish(),
|
|
247
|
+
valid: z["boolean"]().nullish(),
|
|
248
|
+
fraud_score: z.number().min(0).max(100).nullish(),
|
|
249
|
+
recent_abuse: z["boolean"]().nullish(),
|
|
250
|
+
VOIP: z["boolean"]().nullish(),
|
|
251
|
+
prepaid: z["boolean"]().nullish(),
|
|
252
|
+
risky: z["boolean"]().nullish(),
|
|
253
|
+
active: z["boolean"]().nullish(),
|
|
254
|
+
name: z.string().nullish(),
|
|
255
|
+
carrier: z.string().nullish(),
|
|
256
|
+
line_type: z.string().nullish(),
|
|
257
|
+
country: z.string().nullish(),
|
|
258
|
+
region: z.string().nullish(),
|
|
259
|
+
city: z.string().nullish(),
|
|
260
|
+
timezone: z.string().nullish(),
|
|
261
|
+
zip_code: z.string().nullish(),
|
|
262
|
+
dialing_code: z.number().nullish(),
|
|
263
|
+
do_not_call: z["boolean"]().nullish(),
|
|
264
|
+
leaked: z["boolean"]().nullish(),
|
|
265
|
+
spammer: z["boolean"]().nullish(),
|
|
266
|
+
active_status: z.string().nullish(),
|
|
267
|
+
user_activity: z.string().nullish(),
|
|
268
|
+
associated_email_addresses: z.object({
|
|
269
|
+
status: z.string().nullish(),
|
|
270
|
+
emails: z.array(z.string()).nullish()
|
|
271
|
+
}).nullish()
|
|
272
|
+
});
|
|
273
|
+
var IpQualityServiceAnalysis = z.object({
|
|
274
|
+
ipVerification: IpQualityAnalysisResponse.nullish(),
|
|
275
|
+
emailVerification: EmailVerificationAnalysisResponse.nullish(),
|
|
276
|
+
phoneVerification: PhoneVerificationAnalysisResponse.nullish(),
|
|
277
|
+
error: z.string().nullish()
|
|
278
|
+
});
|
|
279
|
+
var UNAUTHORIZED_KEY = z.object({
|
|
280
|
+
success: z["boolean"](),
|
|
281
|
+
message: z.literal("Invalid or unauthorized key. Please check the API key and try again."),
|
|
282
|
+
request_id: z.string()
|
|
283
|
+
});
|
|
284
|
+
var UNKNOWN_ERROR$2 = z.object({
|
|
285
|
+
error: z.literal("UNKNOWN_ERROR"),
|
|
286
|
+
message: z.string()
|
|
287
|
+
}).describe("This is a fallback error, if IPQualityScore parser fails");
|
|
288
|
+
var RESULT_PARSER_ERROR$2 = z.object({
|
|
289
|
+
error: z.literal("RESULT_PARSER_ERROR"),
|
|
290
|
+
message: z.string(),
|
|
291
|
+
data: z.string()
|
|
292
|
+
}).describe("This is a fallback error, if zod parse fails on result");
|
|
293
|
+
var IpQualityServiceErrorResponse = z.union([UNAUTHORIZED_KEY, UNKNOWN_ERROR$2, RESULT_PARSER_ERROR$2]);
|
|
294
|
+
var IpQualityServiceAnalysisResponse = z.union([z.object({
|
|
295
|
+
error: IpQualityServiceErrorResponse
|
|
296
|
+
}), IpQualityServiceAnalysis]);
|
|
297
|
+
|
|
298
|
+
var BigCryptoChain = z["enum"](["btc",
|
|
299
|
+
// Bitcoin
|
|
300
|
+
"eth",
|
|
301
|
+
// Ethereum
|
|
302
|
+
"ltc",
|
|
303
|
+
// Litecoin
|
|
304
|
+
"bch",
|
|
305
|
+
// Bitcoin Cash
|
|
306
|
+
"xrp",
|
|
307
|
+
// Ripple
|
|
308
|
+
"xlm",
|
|
309
|
+
// Stellar
|
|
310
|
+
"sys",
|
|
311
|
+
// Syscoin
|
|
312
|
+
"xdc",
|
|
313
|
+
// XDC Network
|
|
314
|
+
"doge",
|
|
315
|
+
// Dogecoin
|
|
316
|
+
"dash",
|
|
317
|
+
// Dash
|
|
318
|
+
"zec",
|
|
319
|
+
// Zcash
|
|
320
|
+
"trx",
|
|
321
|
+
// Tron
|
|
322
|
+
"etc",
|
|
323
|
+
// Ethereum Classic
|
|
324
|
+
"bsc" // Binance Smart Chain
|
|
325
|
+
]);
|
|
326
|
+
var BigPropertiesLiteral = [z.literal("score").describe("BitRank Verified®score for a public key hash of an address for your chosen cryptocurrency."), z.literal("entities").describe("Array of entity objects associated with the address."), z.literal("flags").describe("Array of flags associated with the address."), z.literal("currency").describe("The type of cryptocurrency being queried."), z.literal("new_address").describe("Boolean indicating if the address is new."), z.literal("flags_with_category").describe("Array of flag objects with categories associated with the address."), z.literal("cluster").describe("Object containing information about the cluster associated with the address."), z.literal("first_seen_receiving").describe("Timestamp of the first time the address received funds."), z.literal("first_seen_sending").describe("Timestamp of the first time the address sent funds."), z.literal("last_seen_receiving").describe("Timestamp of the last time the address received funds."), z.literal("last_seen_sending").describe("Timestamp of the last time the address sent funds."), z.literal("received_amount").describe("Total amount of cryptocurrency received by the address in Satoshis."), z.literal("sent_amount").describe("Total amount of cryptocurrency sent from the address in Satoshis."), z.literal("number_of_transactions").describe("Total number of transactions associated with the address."), z.literal("received_transactions").describe("Number of transactions where the address received funds."), z.literal("sent_transactions").describe("Number of transactions where the address sent funds."), z.literal("balance").describe("Balance of cryptocurrency at the address in Satoshis."), z.literal("balance_fiat").describe("Balance of cryptocurrency at the address in fiat currency (JPY, EUR, USD, CAD)."), z.literal("bitrank_counterparty_exposure").describe("Distribution of BitRank® scores by count and volume."), z.literal("entity_counterparty_exposure").describe("Distribution of entities by count and volume."), z.literal("flag_counterparty_exposure").describe("Distribution of flags by count and volume.")];
|
|
327
|
+
var BigProperties = ["score", "entities", "flags", "currency", "new_address", "flags_with_category", "cluster", "first_seen_receiving", "first_seen_sending", "last_seen_receiving", "last_seen_sending", "received_amount", "sent_amount", "number_of_transactions", "received_transactions", "sent_transactions", "balance", "balance_fiat", "bitrank_counterparty_exposure", "entity_counterparty_exposure", "flag_counterparty_exposure"];
|
|
328
|
+
var BigProperty = z["enum"](BigProperties);
|
|
329
|
+
var RequestProperty = z.object({
|
|
330
|
+
property: BigProperty
|
|
331
|
+
}).describe("A comma-separated list of properties that will determine if the property is in the response.");
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Example usage:
|
|
335
|
+
* ```
|
|
336
|
+
* const requestObject = bitRankRequestSchema.parse({
|
|
337
|
+
* crypto: "btc",
|
|
338
|
+
* address: "1J3BDU4wHgxk5bHky8EiDnptX39dYgdDGj",
|
|
339
|
+
* properties: ["score", "entities", "flags"],
|
|
340
|
+
* label: "myLabel",
|
|
341
|
+
* apiKey: "Your API Key Goes Here",
|
|
342
|
+
* });
|
|
343
|
+
* ```
|
|
344
|
+
*
|
|
345
|
+
*/
|
|
346
|
+
var BitRankRequest = z.object({
|
|
347
|
+
crypto: BigCryptoChain["default"]("eth").nullish(),
|
|
348
|
+
address: AddressSchema.nullish(),
|
|
349
|
+
properties: z.array(RequestProperty).describe("Optional query parameter to specify properties to include in the response.").nullish()["default"]([{
|
|
350
|
+
property: "score"
|
|
351
|
+
}]),
|
|
352
|
+
label: z.string().max(255).optional().describe("Optional string of up to 255 characters for labeling the search.").nullish(),
|
|
353
|
+
transactionsPerPage: z.number().optional().describe("Optional parameter to specify the number of transactions per page in the response.").nullish()
|
|
354
|
+
});
|
|
355
|
+
var BitRankVerified = z.object({
|
|
356
|
+
label: z.string(),
|
|
357
|
+
currency: z.string(),
|
|
358
|
+
new_address: z["boolean"](),
|
|
359
|
+
score: z.number(),
|
|
360
|
+
entities: z.array(z.object({
|
|
361
|
+
label: z.string(),
|
|
362
|
+
type: z.string()
|
|
363
|
+
})),
|
|
364
|
+
flags: z.array(z.string()),
|
|
365
|
+
flags_with_category: z.array(z.object({
|
|
366
|
+
name: z.string(),
|
|
367
|
+
category: z.string()
|
|
368
|
+
})),
|
|
369
|
+
cluster: z.object({
|
|
370
|
+
cluster_name: z.string(),
|
|
371
|
+
cluster_identifier: z.number(),
|
|
372
|
+
number_of_addresses_in_cluster: z.number()
|
|
373
|
+
}),
|
|
374
|
+
first_seen_receiving: z.number(),
|
|
375
|
+
first_seen_sending: z.number(),
|
|
376
|
+
last_seen_receiving: z.number(),
|
|
377
|
+
last_seen_sending: z.number(),
|
|
378
|
+
received_amount: z.number(),
|
|
379
|
+
sent_amount: z.number(),
|
|
380
|
+
number_of_transactions: z.number(),
|
|
381
|
+
received_transactions: z.number(),
|
|
382
|
+
sent_transactions: z.number(),
|
|
383
|
+
balance: z.number(),
|
|
384
|
+
balance_fiat: z.object({
|
|
385
|
+
jpy: z.number(),
|
|
386
|
+
eur: z.number(),
|
|
387
|
+
usd: z.number(),
|
|
388
|
+
cad: z.number()
|
|
389
|
+
}),
|
|
390
|
+
bitrank_counterparty_exposure: z.object({
|
|
391
|
+
"in": z.object({
|
|
392
|
+
updatedAt: z.number(),
|
|
393
|
+
totalVolume: z.number(),
|
|
394
|
+
exposure: z.array(z.object({
|
|
395
|
+
min: z.number(),
|
|
396
|
+
max: z.number(),
|
|
397
|
+
count: z.number(),
|
|
398
|
+
volume: z.number()
|
|
399
|
+
}))
|
|
400
|
+
}),
|
|
401
|
+
out: z.object({
|
|
402
|
+
updatedAt: z.number(),
|
|
403
|
+
totalVolume: z.number(),
|
|
404
|
+
exposure: z.array(z.object({
|
|
405
|
+
min: z.number(),
|
|
406
|
+
max: z.number(),
|
|
407
|
+
count: z.number(),
|
|
408
|
+
volume: z.number()
|
|
409
|
+
}))
|
|
410
|
+
})
|
|
411
|
+
}),
|
|
412
|
+
entity_counterparty_exposure: z.object({
|
|
413
|
+
"in": z.object({
|
|
414
|
+
updatedAt: z.number(),
|
|
415
|
+
totalVolume: z.number(),
|
|
416
|
+
exposure: z.array(z.object({
|
|
417
|
+
name: z.string(),
|
|
418
|
+
count: z.number(),
|
|
419
|
+
volume: z.number()
|
|
420
|
+
}))
|
|
421
|
+
}),
|
|
422
|
+
out: z.object({
|
|
423
|
+
updatedAt: z.number(),
|
|
424
|
+
totalVolume: z.number(),
|
|
425
|
+
exposure: z.array(z.object({
|
|
426
|
+
name: z.string(),
|
|
427
|
+
count: z.number(),
|
|
428
|
+
volume: z.number()
|
|
429
|
+
}))
|
|
430
|
+
})
|
|
431
|
+
}),
|
|
432
|
+
flag_counterparty_exposure: z.object({
|
|
433
|
+
"in": z.object({
|
|
434
|
+
updatedAt: z.number(),
|
|
435
|
+
totalVolume: z.number(),
|
|
436
|
+
exposure: z.array(z.object({
|
|
437
|
+
name: z.string(),
|
|
438
|
+
count: z.number(),
|
|
439
|
+
volume: z.number()
|
|
440
|
+
}))
|
|
441
|
+
}),
|
|
442
|
+
out: z.object({
|
|
443
|
+
updatedAt: z.number(),
|
|
444
|
+
totalVolume: z.number(),
|
|
445
|
+
exposure: z.array(z.object({
|
|
446
|
+
name: z.string(),
|
|
447
|
+
count: z.number(),
|
|
448
|
+
volume: z.number()
|
|
449
|
+
}))
|
|
450
|
+
})
|
|
451
|
+
}),
|
|
452
|
+
transactions: z.array(z.object({
|
|
453
|
+
hash: z.string(),
|
|
454
|
+
amount: z.number(),
|
|
455
|
+
fees: z.number()
|
|
456
|
+
}))
|
|
457
|
+
}).partial();
|
|
458
|
+
var INVALID_ADDRESS = z.object({
|
|
459
|
+
statusCode: z.literal(400),
|
|
460
|
+
errorCode: z.literal("INVALID_ADDRESS"),
|
|
461
|
+
message: z.literal("The address provided isn't a valid address.")
|
|
462
|
+
});
|
|
463
|
+
var API_KEY_NOT_FOUND = z.object({
|
|
464
|
+
statusCode: z.literal(401),
|
|
465
|
+
errorCode: z.literal("API_KEY_NOT_FOUND"),
|
|
466
|
+
message: z.literal("Your API key is not found.")
|
|
467
|
+
});
|
|
468
|
+
var API_KEY_ARCHIVED = z.object({
|
|
469
|
+
statusCode: z.literal(403),
|
|
470
|
+
errorCode: z.literal("API_KEY_ARCHIVED"),
|
|
471
|
+
message: z.literal("Your API key is archived.")
|
|
472
|
+
});
|
|
473
|
+
var API_KEY_DISABLED = z.object({
|
|
474
|
+
statusCode: z.literal(403),
|
|
475
|
+
errorCode: z.literal("API_KEY_DISABLED"),
|
|
476
|
+
message: z.literal("Your API key is disabled.")
|
|
477
|
+
});
|
|
478
|
+
var SOURCE_IP_NOT_EQ_API_KEY_IPS = z.object({
|
|
479
|
+
statusCode: z.literal(403),
|
|
480
|
+
errorCode: z.literal("SOURCE_IP_NOT_EQ_API_KEY_IPS"),
|
|
481
|
+
message: z.literal("Your source IP does not match the IPs for your API key.")
|
|
482
|
+
});
|
|
483
|
+
var INTERNAL_SERVER_ERROR = z.object({
|
|
484
|
+
statusCode: z.literal(500),
|
|
485
|
+
errorCode: z.literal("INTERNAL_SERVER_ERROR"),
|
|
486
|
+
message: z.literal("INTERNAL SERVER ERROR")
|
|
487
|
+
});
|
|
488
|
+
var UNKNOWN_ERROR$1 = z.object({
|
|
489
|
+
statusCode: z.literal(500),
|
|
490
|
+
errorCode: z.literal("UNKNOWN_ERROR"),
|
|
491
|
+
message: z.string()
|
|
492
|
+
}).describe("This is a fallback error, if bit rank parser fails");
|
|
493
|
+
var RESULT_PARSER_ERROR$1 = z.object({
|
|
494
|
+
statusCode: z.literal(500),
|
|
495
|
+
errorCode: z.literal("RESULT_PARSER_ERROR"),
|
|
496
|
+
message: z.string(),
|
|
497
|
+
data: z.string()
|
|
498
|
+
}).describe("This is a fallback error, if zod parse fails on result");
|
|
499
|
+
var BitRankVerifiedErrorResponse = z.union([INVALID_ADDRESS, API_KEY_NOT_FOUND, API_KEY_ARCHIVED, API_KEY_DISABLED, SOURCE_IP_NOT_EQ_API_KEY_IPS, INTERNAL_SERVER_ERROR, UNKNOWN_ERROR$1, RESULT_PARSER_ERROR$1]);
|
|
500
|
+
var BitRankVerifiedError = z.object({
|
|
501
|
+
error: BitRankVerifiedErrorResponse
|
|
502
|
+
});
|
|
503
|
+
var BitRankVerifiedResponse = z.union([BitRankVerifiedError, BitRankVerified]);
|
|
504
|
+
|
|
505
|
+
var Statuses = ["APPROVED", "SUBMISSION_REQUIRED", "RESUBMISSION_REQUIRED", "REJECTED", "PENDING_VERIFICATION"];
|
|
506
|
+
var Status$1 = z["enum"](Statuses);
|
|
507
|
+
var WebhookPayload = z.object({
|
|
508
|
+
reason: z.string(),
|
|
509
|
+
service: z.string(),
|
|
510
|
+
session_id: z.string(),
|
|
511
|
+
status: Status$1.optional().nullish(),
|
|
512
|
+
step_id: z.string()
|
|
513
|
+
});
|
|
514
|
+
var NestedSession = z.object({
|
|
515
|
+
alias: z.string(),
|
|
516
|
+
id: z.string(),
|
|
517
|
+
status: Status$1,
|
|
518
|
+
sandbox: z["boolean"](),
|
|
519
|
+
steps: z.array(z.object({
|
|
520
|
+
id: z.string(),
|
|
521
|
+
status: Status$1,
|
|
522
|
+
type: z.string()
|
|
523
|
+
}))
|
|
524
|
+
});
|
|
525
|
+
var Session = z.object({
|
|
526
|
+
app: z.object({
|
|
527
|
+
name: z.string(),
|
|
528
|
+
id: z.string()
|
|
529
|
+
}),
|
|
530
|
+
session: NestedSession
|
|
531
|
+
});
|
|
532
|
+
var SessionWithoutSteps = z.object({
|
|
533
|
+
app: z.object({
|
|
534
|
+
name: z.string(),
|
|
535
|
+
id: z.string()
|
|
536
|
+
}),
|
|
537
|
+
session: NestedSession.omit({
|
|
538
|
+
steps: true
|
|
539
|
+
})
|
|
540
|
+
});
|
|
541
|
+
var StepTypes = ["ID_DOCUMENT", "LIVENESS", "PROOF_OF_ADDRESS", "PHONE", "EMAIL"];
|
|
542
|
+
var StepType = z["enum"](StepTypes);
|
|
543
|
+
var ReasonCodes = ["FORGED_REJECTION", "DOCUMENT_HIDDEN", "BAD_ENVIRONMENT", "BLACK_WHITE_PICTURE", "BAD_QUALITY", "DOCUMENT_COMPLIANCE", "IDENTITY_DOCUMENT_EXPIRED", "DOCUMENT_INVALID_FRONT_SIDE", "DOCUMENT_INVALID_BACK_SIDE", "IDENTITY_DOCUMENT_DOB_DATE_MINOR", "RESTRICTED_NATIONALITY_TYPE", "DUPLICATE_USER", ""];
|
|
544
|
+
var ReasonCode = z["enum"](ReasonCodes);
|
|
545
|
+
var File = z.object({
|
|
546
|
+
url: z.string(),
|
|
547
|
+
type: z.string(),
|
|
548
|
+
size: z.number(),
|
|
549
|
+
base64: z.string().nullish()
|
|
550
|
+
});
|
|
551
|
+
var DocumentIdTypes = ["PASSPORT", "NATIONAL_ID", "DRIVER_LICENSE", "RESIDENT_PERMIT", ""];
|
|
552
|
+
var DocumentIdType = z["enum"](DocumentIdTypes);
|
|
553
|
+
var DocumentIdMetadata = z.object({
|
|
554
|
+
country: z.string(),
|
|
555
|
+
type: DocumentIdType,
|
|
556
|
+
fields: z.object({
|
|
557
|
+
firstname: z.string(),
|
|
558
|
+
lastname: z.string(),
|
|
559
|
+
birth_date: z.string(),
|
|
560
|
+
document_expiration: z.string(),
|
|
561
|
+
document_number: z.string(),
|
|
562
|
+
nationality: z.string()
|
|
563
|
+
}),
|
|
564
|
+
files: z.object({
|
|
565
|
+
front: File.nullish(),
|
|
566
|
+
back: File.nullish(),
|
|
567
|
+
face: File.nullish()
|
|
568
|
+
}),
|
|
569
|
+
original_files: z.object({
|
|
570
|
+
front: File.nullish(),
|
|
571
|
+
back: File.nullish()
|
|
572
|
+
})
|
|
573
|
+
});
|
|
574
|
+
var ProofOfAddressDocumentTypes = ["ELECTRICITY_BILL", "INTERNET_BILL", "LANDLINE_BILL", "WATER_BILL", "GAS_BILL", "BANK_STATEMENT"];
|
|
575
|
+
var ProofOfAddressDocumentType = z["enum"](ProofOfAddressDocumentTypes);
|
|
576
|
+
var ProofOfAddressMetadata = z.object({
|
|
577
|
+
country: z.string(),
|
|
578
|
+
type: ProofOfAddressDocumentType,
|
|
579
|
+
host_id_document: z.object({}),
|
|
580
|
+
files: z.object({
|
|
581
|
+
proof: File.nullish(),
|
|
582
|
+
accomodation: File.nullish()
|
|
583
|
+
}),
|
|
584
|
+
original_files: z.object({
|
|
585
|
+
proof: File.nullish(),
|
|
586
|
+
accomodation: File.nullish()
|
|
587
|
+
}),
|
|
588
|
+
fields: z.object({
|
|
589
|
+
address: z.string(),
|
|
590
|
+
city: z.string(),
|
|
591
|
+
zipcode: z.string(),
|
|
592
|
+
issuing_date: z.string()
|
|
593
|
+
})
|
|
594
|
+
});
|
|
595
|
+
var LivenessMetadata = z.object({
|
|
596
|
+
liveness: z.object({
|
|
597
|
+
file: File
|
|
598
|
+
})
|
|
599
|
+
});
|
|
600
|
+
var PhoneMetadata = z.object({
|
|
601
|
+
phone: z.object({
|
|
602
|
+
number: z.string(),
|
|
603
|
+
calling_code: z.string(),
|
|
604
|
+
method: z.string(),
|
|
605
|
+
country: z.string()
|
|
606
|
+
})
|
|
607
|
+
});
|
|
608
|
+
var EmailMetadata = z.object({
|
|
609
|
+
email: z.object({
|
|
610
|
+
value: z.string().email()
|
|
611
|
+
})
|
|
612
|
+
});
|
|
613
|
+
var AMLMetadata = z.object({
|
|
614
|
+
aml: z.object({
|
|
615
|
+
customer_info: z.object({
|
|
616
|
+
firstname: z.string(),
|
|
617
|
+
lastname: z.string(),
|
|
618
|
+
birth_date: z.string(),
|
|
619
|
+
nationality: z.string(),
|
|
620
|
+
country: z.string()
|
|
621
|
+
}),
|
|
622
|
+
hits: z.array(z.object({
|
|
623
|
+
fields: z.array(z.unknown()),
|
|
624
|
+
aliases: z.array(z.string()),
|
|
625
|
+
media: z.array(z.object({
|
|
626
|
+
date: z.string(),
|
|
627
|
+
snippet: z.string(),
|
|
628
|
+
title: z.string(),
|
|
629
|
+
url: z.string()
|
|
630
|
+
})),
|
|
631
|
+
info: z.object({
|
|
632
|
+
full_name: z.string(),
|
|
633
|
+
birth_date: z.string(),
|
|
634
|
+
nationality: z.string()
|
|
635
|
+
}),
|
|
636
|
+
type: z.array(z.string())
|
|
637
|
+
})),
|
|
638
|
+
total_hits: z.number(),
|
|
639
|
+
action_required: z["boolean"](),
|
|
640
|
+
monitored: z["boolean"]()
|
|
641
|
+
})
|
|
642
|
+
});
|
|
643
|
+
var Step = z.object({
|
|
644
|
+
id: z.string(),
|
|
645
|
+
type: StepType,
|
|
646
|
+
metadata: z.object({
|
|
647
|
+
ip: z.string(),
|
|
648
|
+
user_agent: z.string(),
|
|
649
|
+
platform: z.string(),
|
|
650
|
+
browser_name: z.string(),
|
|
651
|
+
browser_version: z.string(),
|
|
652
|
+
device: z.string(),
|
|
653
|
+
customer_language: z.string()
|
|
654
|
+
}),
|
|
655
|
+
status: Status$1,
|
|
656
|
+
reason: z.object({
|
|
657
|
+
code: ReasonCode,
|
|
658
|
+
message: z.object({
|
|
659
|
+
original: z.string(),
|
|
660
|
+
translated: z.string()
|
|
661
|
+
})
|
|
662
|
+
}).nullish(),
|
|
663
|
+
document: z.union([DocumentIdMetadata, ProofOfAddressMetadata]).nullish(),
|
|
664
|
+
verification: z.union([LivenessMetadata, PhoneMetadata, EmailMetadata, AMLMetadata]).nullish()
|
|
665
|
+
});
|
|
666
|
+
var SynapsSessionEvent = z.object({
|
|
667
|
+
status: Status$1,
|
|
668
|
+
alias: z.string(),
|
|
669
|
+
sandbox: z["boolean"]()
|
|
670
|
+
});
|
|
671
|
+
var SynapsStepEvent = z.object({
|
|
672
|
+
status: Status$1,
|
|
673
|
+
type: StepType,
|
|
674
|
+
sandbox: z["boolean"](),
|
|
675
|
+
metadata: z.object({
|
|
676
|
+
ip: z.string(),
|
|
677
|
+
user_agent: z.string(),
|
|
678
|
+
platform: z.string(),
|
|
679
|
+
browser_name: z.string(),
|
|
680
|
+
browser_version: z.string(),
|
|
681
|
+
device: z.string(),
|
|
682
|
+
customer_language: z.string()
|
|
683
|
+
})
|
|
684
|
+
});
|
|
685
|
+
var typeToHumanReadable = function typeToHumanReadable(type) {
|
|
686
|
+
switch (type) {
|
|
687
|
+
case "ID_DOCUMENT":
|
|
688
|
+
return "Document ID check";
|
|
689
|
+
case "LIVENESS":
|
|
690
|
+
return "Liveness check";
|
|
691
|
+
case "PROOF_OF_ADDRESS":
|
|
692
|
+
return "Proof of address check";
|
|
693
|
+
case "PHONE":
|
|
694
|
+
return "Phone verification";
|
|
695
|
+
case "EMAIL":
|
|
696
|
+
return "Email verification";
|
|
697
|
+
default:
|
|
698
|
+
return type;
|
|
699
|
+
}
|
|
700
|
+
};
|
|
701
|
+
var SynapsSessionRequest = z.object({
|
|
702
|
+
sessionId: z.string()
|
|
703
|
+
});
|
|
704
|
+
var SESSION_NOT_FOUND = z.object({
|
|
705
|
+
code: z.number(),
|
|
706
|
+
message: z.literal("This session is not found")
|
|
707
|
+
});
|
|
708
|
+
var UNKNOWN_ERROR = z.object({
|
|
709
|
+
code: z.literal(1),
|
|
710
|
+
message: z.literal("Synaps unknown error")
|
|
711
|
+
}).describe("This is a fallback error, if synaps parser fails");
|
|
712
|
+
var RESULT_PARSER_ERROR = z.object({
|
|
713
|
+
code: z.literal(2),
|
|
714
|
+
message: z.string(),
|
|
715
|
+
data: z.string()
|
|
716
|
+
}).describe("This is a fallback error, if zod parse fails on result");
|
|
717
|
+
var SynapsSessionErrorResponse = z.union([SESSION_NOT_FOUND, UNKNOWN_ERROR, RESULT_PARSER_ERROR]);
|
|
718
|
+
var SynapsSessionResponse = z.union([z.object({
|
|
719
|
+
success: z.literal(true),
|
|
720
|
+
data: Session
|
|
721
|
+
}), z.object({
|
|
722
|
+
success: z.literal(false),
|
|
723
|
+
error: SynapsSessionErrorResponse
|
|
724
|
+
})]);
|
|
725
|
+
var SynapsStepRequest = z.object({
|
|
726
|
+
sessionId: z.string(),
|
|
727
|
+
stepId: z.string()
|
|
728
|
+
});
|
|
729
|
+
var STEP_NOT_FOUND = z.object({
|
|
730
|
+
code: z.number(),
|
|
731
|
+
message: z.literal("This step ID is invalid")
|
|
732
|
+
});
|
|
733
|
+
var SynapsStepErrorResponse = z.union([STEP_NOT_FOUND, UNKNOWN_ERROR, RESULT_PARSER_ERROR]);
|
|
734
|
+
var SynapsStepResponse = z.union([z.object({
|
|
735
|
+
success: z.literal(true),
|
|
736
|
+
data: Step
|
|
737
|
+
}), z.object({
|
|
738
|
+
success: z.literal(false),
|
|
739
|
+
error: SynapsStepErrorResponse
|
|
740
|
+
})]);
|
|
741
|
+
|
|
742
|
+
var CoerceDateUTC = z.preprocess(function (value) {
|
|
743
|
+
if (!value) return;
|
|
744
|
+
if (value instanceof Date) {
|
|
745
|
+
return value;
|
|
746
|
+
}
|
|
747
|
+
var valueString = value;
|
|
748
|
+
var inputDate = valueString.endsWith("Z") ? valueString : valueString + "Z";
|
|
749
|
+
return new Date(inputDate);
|
|
750
|
+
}, z.date());
|
|
751
|
+
var SEARCH_FILTER_SANCTION_TYPE = ["sanction", "warning", "fitness-probity"];
|
|
752
|
+
var SearchFilterSanctionType = z["enum"](SEARCH_FILTER_SANCTION_TYPE);
|
|
753
|
+
var SEARCH_FILTER_PEP_TYPE = ["pep", "pep-class-1", "pep-class-2", "pep-class-3", "pep-class-4"];
|
|
754
|
+
var SearchFilterPepType = z["enum"](SEARCH_FILTER_PEP_TYPE);
|
|
755
|
+
var SEARCH_FILTER_ADVERSE_MEDIA_TYPE = ["adverse-media", "adverse-media-financial-crime", "adverse-media-violent-crime", "adverse-media-sexual-crime", "adverse-media-terrorism", "adverse-media-fraud", "adverse-media-narcotics", "adverse-media-general", "adverse-media-v2-property", "adverse-media-v2-financial-aml-cft", "adverse-media-v2-fraud-linked", "adverse-media-v2-narcotics-aml-cft", "adverse-media-v2-violence-aml-cft", "adverse-media-v2-terrorism", "adverse-media-v2-cybercrime", "adverse-media-v2-general-aml-cft", "adverse-media-v2-regulatory", "adverse-media-v2-financial-difficulty", "adverse-media-v2-violence-non-aml-cft", "adverse-media-v2-other-financial", "adverse-media-v2-other-serious", "adverse-media-v2-other-minor"];
|
|
756
|
+
var SearchFilterAdverseMediaType = z["enum"](SEARCH_FILTER_ADVERSE_MEDIA_TYPE);
|
|
757
|
+
var HIGH_RISK_TYPES = ["sanction", "pep", "pep-class-1", "pep-class-2", "pep-class-3", "pep-class-4"];
|
|
758
|
+
var MEDIUM_RISK_TYPES = ["adverse-media-financial-crime", "adverse-media-violent-crime", "adverse-media-sexual-crime", "adverse-media-terrorism", "adverse-media-fraud", "adverse-media-narcotics", "adverse-media-general", "adverse-media-v2-financial-aml-cft", "adverse-media-v2-fraud-linked", "adverse-media-v2-narcotics-aml-cft", "adverse-media-v2-violence-aml-cft", "adverse-media-v2-terrorism", "adverse-media-v2-cybercrime", "adverse-media-v2-general-aml-cft", "adverse-media-v2-regulatory", "adverse-media-v2-other-financial", "adverse-media-v2-other-serious"];
|
|
759
|
+
var COMPLY_ADVANTAGE_RESPONSE_MATCH_TYPE = ["name_exact", "aka_exact", "name_fuzzy", "aka_fuzzy", "phonetic_name", "phonetic_aka", "equivalent_name", "equivalent_aka", "unknown", "year_of_birth", "removed_personal_title", "removed_personal_suffix", "removed_organisation_prefix", "removed_organisation_suffix", "removed_clerical_mark"];
|
|
760
|
+
var ComplyAdvantageResponseMatchType = z["enum"](COMPLY_ADVANTAGE_RESPONSE_MATCH_TYPE);
|
|
761
|
+
var mappingMatchTypeToLabel = {
|
|
762
|
+
name_exact: "Name Exact",
|
|
763
|
+
aka_exact: "Aka Exact",
|
|
764
|
+
name_fuzzy: "Name Fuzzy",
|
|
765
|
+
aka_fuzzy: "Aka Fuzzy",
|
|
766
|
+
phonetic_name: "Phonetic Name",
|
|
767
|
+
phonetic_aka: "Phonetic Aka",
|
|
768
|
+
equivalent_name: "Equivalent Name",
|
|
769
|
+
equivalent_aka: "Equivalent Aka",
|
|
770
|
+
unknown: "Unknown",
|
|
771
|
+
year_of_birth: "Year of Birth",
|
|
772
|
+
removed_personal_title: "Removed Personal Title",
|
|
773
|
+
removed_personal_suffix: "Removed Personal Suffix",
|
|
774
|
+
removed_organisation_prefix: "Removed Organisation Prefix",
|
|
775
|
+
removed_organisation_suffix: "Removed Organisation Suffix",
|
|
776
|
+
removed_clerical_mark: "Removed Clerical Mark"
|
|
777
|
+
};
|
|
778
|
+
var COMPLY_ADVANTAGE_RESPONSE_MATCH_STATUS = ["no_match", "false_positive", "potential_match", "true_positive", "unknown", "true_positive_approve", "true_positive_reject"];
|
|
779
|
+
var ComplyAdvantageReponseMatchStatus = z["enum"](COMPLY_ADVANTAGE_RESPONSE_MATCH_STATUS);
|
|
780
|
+
var SEARCH_FILTER_TYPES = [].concat(SEARCH_FILTER_SANCTION_TYPE, SEARCH_FILTER_PEP_TYPE, SEARCH_FILTER_ADVERSE_MEDIA_TYPE);
|
|
781
|
+
var SearchFilterType = z["enum"](SEARCH_FILTER_TYPES);
|
|
782
|
+
var SearchEntityTypes = ["person", "company", "organisation", "vessel", "aircraft"];
|
|
783
|
+
var SearchEntityType = z["enum"](SearchEntityTypes);
|
|
784
|
+
var SearchFilters = z.object({
|
|
785
|
+
types: z.array(SearchFilterType).nullish(),
|
|
786
|
+
birth_year: z.number().nullish(),
|
|
787
|
+
remove_deceased: z.number().min(0).max(1).nullish(),
|
|
788
|
+
entity_type: SearchEntityType.nullish(),
|
|
789
|
+
country_codes: z.array(Alpha2Country).nullish()
|
|
790
|
+
});
|
|
791
|
+
var COMPLY_ADVANTAGE_NATIONALITY_FIELD_SOURCES = ["complyadvantage", "north-atlantic-treaty-organisation", "complyadvantage-adverse-media"];
|
|
792
|
+
var ComplyAdvantageNationalityFieldSources = z["enum"](SearchEntityTypes);
|
|
793
|
+
var COMPLY_ADVANTAGE_COUNTRY_FIELD_SOURCES = ["Belarus", "complyadvantage-adverse-media", "company-am", "complyadvantage-adverse-media", "iran-ministry-of-foreign-affairs-sanctions-list", "complyadvantage-adverse-media"];
|
|
794
|
+
var ComplyAdvantageCountryFieldSources = z["enum"](COMPLY_ADVANTAGE_COUNTRY_FIELD_SOURCES);
|
|
795
|
+
var COMPLY_ADVANTAGE_DATE_OF_BIRTH_FIELD_SOURCES = ["complyadvantage", "complyadvantage-adverse-media"];
|
|
796
|
+
var ComplyAdvantageDateOfBirthFieldSources = z["enum"](COMPLY_ADVANTAGE_DATE_OF_BIRTH_FIELD_SOURCES);
|
|
797
|
+
// https://docs.complyadvantage.com/api-docs#creating-searches
|
|
798
|
+
var CreateSearchInput = z.object({
|
|
799
|
+
search_term: z.string().describe("represents name of the entity"),
|
|
800
|
+
client_ref: z.string().describe("Your reference for this person/entity for which you are searching. Used for tracking searches and auto-whitelisting recurring results"),
|
|
801
|
+
search_profile: z.string().nullish().describe("The Profile ID of a search profile that can be retrieved from the UI"),
|
|
802
|
+
fuzziness: z.number().min(0.0).max(1.0).nullish().describe("determines how closely the returned results must match the supplied name. Overridden by exact_match"),
|
|
803
|
+
offset: z.number().nullish().describe("match results from the database, starting form the offset value"),
|
|
804
|
+
limit: z.number().nullish().describe("math results from the database, taking up this many matches each search"),
|
|
805
|
+
filters: SearchFilters.optional().describe("specify filters within the search to narrow down the results"),
|
|
806
|
+
tags: z.array(z.record(z.string(), z.string())).nullish().describe("name => value pairs, to search later using defined tags here"),
|
|
807
|
+
share_url: z.number().min(0).max(1).nullish().describe("include a shareable URL to access search publicly"),
|
|
808
|
+
exact_match: z["boolean"]().nullish().describe("Exact match disables all standard and optional matching behaviours (Honorifics, affixes, initials, glued name, name variation, equivalent names, extra words in entity,...) 0% fuzziness disables 1 letter typo matching but keeps all other matching behaviours (standard and optional)")
|
|
809
|
+
});
|
|
810
|
+
var MatchStatuses = ["unknown", "no_match", "potential_match", "false_positive", "true_positive", "true_positive_approve", "true_positive_reject"];
|
|
811
|
+
var MatchStatus = z["enum"](MatchStatuses);
|
|
812
|
+
var RiskLevels = ["low", "medium", "high", "unknown"];
|
|
813
|
+
var RiskLevel = z["enum"](RiskLevels);
|
|
814
|
+
// https://docs.complyadvantage.com/api-docs/#updating-searches
|
|
815
|
+
var UpdateSearchInput = z.object({
|
|
816
|
+
match_status: MatchStatus.optional(),
|
|
817
|
+
risk_level: RiskLevel.optional(),
|
|
818
|
+
assignee_id: z.string().optional().describe("the ID of the user to whom the case should be assigned"),
|
|
819
|
+
limit: z.number().optional().describe("the number of matches retrieved (max. 100)"),
|
|
820
|
+
tags: z.array(z.record(z.string(), z.string())).optional().describe("object of name => value pairs, must be existing tags")
|
|
821
|
+
});
|
|
822
|
+
var UpdateSearchEntitiesInput = z.object({
|
|
823
|
+
entities: z.array(z.string()).min(1).describe("array of entity ids to be updated"),
|
|
824
|
+
match_status: MatchStatus.optional(),
|
|
825
|
+
risk_level: RiskLevel.optional(),
|
|
826
|
+
is_whitelisted: z["boolean"]().optional()
|
|
827
|
+
});
|
|
828
|
+
var ComplyAdvantageUser = z.object({
|
|
829
|
+
id: z.number(),
|
|
830
|
+
email: z.string().email(),
|
|
831
|
+
name: z.string(),
|
|
832
|
+
phone: z.string(),
|
|
833
|
+
created_at: CoerceDateUTC,
|
|
834
|
+
user_is_active: z["boolean"]()
|
|
835
|
+
});
|
|
836
|
+
var MatchTypeDetail = z.object({
|
|
837
|
+
aml_types: z.array(z.string()),
|
|
838
|
+
matching_name: z.string(),
|
|
839
|
+
name_matches: z.array(z.object({
|
|
840
|
+
match_types: z.array(z.string()),
|
|
841
|
+
query_term: z.string()
|
|
842
|
+
})),
|
|
843
|
+
secondary_matches: z.array(z.unknown()),
|
|
844
|
+
sources: z.array(z.string())
|
|
845
|
+
});
|
|
846
|
+
var ComplyAdvantageMedia = z.array(z.object({
|
|
847
|
+
date: CoerceDateUTC.optional(),
|
|
848
|
+
snippet: z.string(),
|
|
849
|
+
title: z.string(),
|
|
850
|
+
url: z.string().url()
|
|
851
|
+
}));
|
|
852
|
+
var ComplyAdvantageSearchDataResponseHit = z.object({
|
|
853
|
+
doc: z.object({
|
|
854
|
+
id: z.string(),
|
|
855
|
+
last_updated_utc: CoerceDateUTC,
|
|
856
|
+
created_utc: CoerceDateUTC,
|
|
857
|
+
fields: z.array(z.object({
|
|
858
|
+
name: z.string(),
|
|
859
|
+
source: z.string().optional(),
|
|
860
|
+
value: z.string(),
|
|
861
|
+
locale: z.string().optional(),
|
|
862
|
+
tag: z.string().optional()
|
|
863
|
+
})).optional(),
|
|
864
|
+
types: z.array(SearchFilterType),
|
|
865
|
+
name: z.string(),
|
|
866
|
+
entity_type: SearchEntityType,
|
|
867
|
+
aka: z.array(z.object({
|
|
868
|
+
name: z.string()
|
|
869
|
+
})),
|
|
870
|
+
associates: z.array(z.object({
|
|
871
|
+
association: z.string(),
|
|
872
|
+
name: z.string()
|
|
873
|
+
})).optional(),
|
|
874
|
+
sources: z.array(z.string()),
|
|
875
|
+
keywords: z.array(z.unknown()),
|
|
876
|
+
media: ComplyAdvantageMedia.optional(),
|
|
877
|
+
source_notes: z.unknown()
|
|
878
|
+
}),
|
|
879
|
+
match_types: z.array(z.string()),
|
|
880
|
+
match_types_details: z.array(z.object({
|
|
881
|
+
aml_types: z.array(z.string()),
|
|
882
|
+
matching_name: z.string(),
|
|
883
|
+
name_matches: z.array(z.object({
|
|
884
|
+
match_types: z.array(z.string()),
|
|
885
|
+
query_term: z.string()
|
|
886
|
+
})),
|
|
887
|
+
secondary_matches: z.array(z.unknown()),
|
|
888
|
+
sources: z.array(z.string())
|
|
889
|
+
})),
|
|
890
|
+
match_status: z.string(),
|
|
891
|
+
is_whitelisted: z["boolean"](),
|
|
892
|
+
score: z.number()
|
|
893
|
+
});
|
|
894
|
+
var ComplyAdvantageSearchDataResponse = z.object({
|
|
895
|
+
client_ref: z.string(),
|
|
896
|
+
id: z.number(),
|
|
897
|
+
ref: z.string(),
|
|
898
|
+
searcher_id: z.number(),
|
|
899
|
+
assignee_id: z.number(),
|
|
900
|
+
filters: SearchFilters.optional(),
|
|
901
|
+
match_status: MatchStatus,
|
|
902
|
+
risk_level: RiskLevel,
|
|
903
|
+
search_term: z.string(),
|
|
904
|
+
submitted_term: z.string(),
|
|
905
|
+
total_hits: z.number(),
|
|
906
|
+
total_matches: z.number(),
|
|
907
|
+
total_blacklist_hits: z.number(),
|
|
908
|
+
created_at: CoerceDateUTC,
|
|
909
|
+
updated_at: CoerceDateUTC,
|
|
910
|
+
tags: z.array(z.record(z.string(), z.string())).optional(),
|
|
911
|
+
labels: z.array(z.unknown()),
|
|
912
|
+
limit: z.number(),
|
|
913
|
+
offset: z.number(),
|
|
914
|
+
searcher: ComplyAdvantageUser.optional(),
|
|
915
|
+
assignee: ComplyAdvantageUser.optional(),
|
|
916
|
+
hits: z.array(ComplyAdvantageSearchDataResponseHit).optional(),
|
|
917
|
+
blacklist_hits: z.array(z.unknown()).optional()
|
|
918
|
+
});
|
|
919
|
+
var ComplyAdvantageSearchSuccessResponse = z.object({
|
|
920
|
+
status: z.literal("success"),
|
|
921
|
+
code: z.literal(200),
|
|
922
|
+
content: z.object({
|
|
923
|
+
data: ComplyAdvantageSearchDataResponse
|
|
924
|
+
})
|
|
925
|
+
});
|
|
926
|
+
var ComplyAdvantageSearchErrorResponse = z.object({
|
|
927
|
+
status: z.literal("failure"),
|
|
928
|
+
code: z.number(),
|
|
929
|
+
message: z.string()
|
|
930
|
+
});
|
|
931
|
+
var ComplyAdvantageSearchResponse = z.union([ComplyAdvantageSearchSuccessResponse, ComplyAdvantageSearchErrorResponse]);
|
|
932
|
+
var ComplyAdvantageKeyInformation = z.object({
|
|
933
|
+
name: z.string(),
|
|
934
|
+
entity_type: SearchEntityType,
|
|
935
|
+
types: z.array(SearchFilterType).nullish(),
|
|
936
|
+
grouped_types: z.array(z.object({
|
|
937
|
+
type: SearchFilterType
|
|
938
|
+
})).nullish(),
|
|
939
|
+
match_types: z.array(z.string()).nullish(),
|
|
940
|
+
sources: z.array(z.string()).nullish(),
|
|
941
|
+
source_notes: z.unknown().nullish(),
|
|
942
|
+
aka: z.array(z.object({
|
|
943
|
+
name: z.string()
|
|
944
|
+
})).nullish(),
|
|
945
|
+
date_of_birth: z.string().nullish(),
|
|
946
|
+
dates_of_birth: z.array(z.string()).nullish(),
|
|
947
|
+
match_status: MatchStatus.nullish(),
|
|
948
|
+
risk_level: RiskLevel.nullish(),
|
|
949
|
+
is_whitelisted: z["boolean"]().nullish(),
|
|
950
|
+
age: z.number().nullish(),
|
|
951
|
+
death_age: z.unknown().nullish(),
|
|
952
|
+
date_of_death: z.unknown().nullish(),
|
|
953
|
+
primary_country: z.unknown().nullish(),
|
|
954
|
+
country_names: z.string().nullish(),
|
|
955
|
+
designation: z.string().nullish(),
|
|
956
|
+
associates: z.array(z.object({
|
|
957
|
+
association: z.string(),
|
|
958
|
+
name: z.string()
|
|
959
|
+
})).nullish()
|
|
960
|
+
});
|
|
961
|
+
var ComplyAdvantageAmlItemSource = z.object({
|
|
962
|
+
aml_types: z.array(z.string()).nullish(),
|
|
963
|
+
count: z.number().nullish(),
|
|
964
|
+
country_codes: z.array(z.string()).nullish(),
|
|
965
|
+
data: z.array(z.object({
|
|
966
|
+
name: z.string().nullish(),
|
|
967
|
+
source: z.string().nullish(),
|
|
968
|
+
value: z.string().nullish()
|
|
969
|
+
})).nullish(),
|
|
970
|
+
disclose_sources: z["boolean"]().nullish(),
|
|
971
|
+
listing_ended_utc: z.string().nullish(),
|
|
972
|
+
listing_started_utc: z.string().nullish(),
|
|
973
|
+
name: z.string().nullish(),
|
|
974
|
+
source: z.string().nullish(),
|
|
975
|
+
url: z.string().nullish()
|
|
976
|
+
});
|
|
977
|
+
var ComplyAdvantageAmlFullListing = z.record(z.string().nullish(), z.record(z.string().nullish(), ComplyAdvantageAmlItemSource.nullish()).nullish());
|
|
978
|
+
var ComplyAdvantageSearchEntitiesDataResponse = z.array(z.object({
|
|
979
|
+
id: z.string(),
|
|
980
|
+
last_updated_utc: CoerceDateUTC,
|
|
981
|
+
created_utc: CoerceDateUTC,
|
|
982
|
+
key_information: ComplyAdvantageKeyInformation.nullish(),
|
|
983
|
+
uncategorized: z.object({
|
|
984
|
+
keywords: z.array(z.unknown()).nullish(),
|
|
985
|
+
media: ComplyAdvantageMedia.nullish(),
|
|
986
|
+
assets: z.array(z.unknown()).nullish(),
|
|
987
|
+
match_types: z.array(z.string()).nullish(),
|
|
988
|
+
related: z.array(z.unknown()).nullish(),
|
|
989
|
+
fields: z.array(z.unknown()).nullish()
|
|
990
|
+
}).nullish(),
|
|
991
|
+
full_listing: ComplyAdvantageAmlFullListing.nullish(),
|
|
992
|
+
navigation: z.object({
|
|
993
|
+
next: z.unknown().nullish(),
|
|
994
|
+
previous: z.unknown().nullish()
|
|
995
|
+
}).nullish()
|
|
996
|
+
}));
|
|
997
|
+
var ComplyAdvantageSearchEntitiesSuccessResponse = z.object({
|
|
998
|
+
status: z.literal("success"),
|
|
999
|
+
code: z.literal(200),
|
|
1000
|
+
content: ComplyAdvantageSearchEntitiesDataResponse.nullish()
|
|
1001
|
+
});
|
|
1002
|
+
var ComplyAdvantageSearchEntitiesResponse = z.union([ComplyAdvantageSearchEntitiesSuccessResponse, ComplyAdvantageSearchErrorResponse]);
|
|
1003
|
+
var ComplyAdvantageSearchRequest = z.object({
|
|
1004
|
+
customerId: z.string()
|
|
1005
|
+
});
|
|
1006
|
+
var ComplyAdvantageUpdateSearchRequest = z.object({
|
|
1007
|
+
searchId: z.string(),
|
|
1008
|
+
matchStatus: MatchStatus.optional()
|
|
1009
|
+
});
|
|
1010
|
+
var ComplyAdvantageUpdateSearchEntitiesRequest = z.object({
|
|
1011
|
+
searchId: z.string(),
|
|
1012
|
+
entities: z.array(z.string()).min(1),
|
|
1013
|
+
matchStatus: MatchStatus.optional(),
|
|
1014
|
+
isWhitelisted: z["boolean"]().optional()
|
|
1015
|
+
});
|
|
1016
|
+
var ComplyAdvantageUpdateSearchEntitiesSuccessResponse = z.object({
|
|
1017
|
+
status: z.literal("success"),
|
|
1018
|
+
code: z.literal(200),
|
|
1019
|
+
content: ComplyAdvantageSearchDataResponse
|
|
1020
|
+
});
|
|
1021
|
+
var ComplyAdvantageUpdateSearchEntitiesResponse = z.union([ComplyAdvantageUpdateSearchEntitiesSuccessResponse, ComplyAdvantageSearchErrorResponse]);
|
|
1022
|
+
var ComplyAdvantageMonitorSearchDataResponse = z.object({
|
|
1023
|
+
searcher_id: z.number(),
|
|
1024
|
+
ref: z.string(),
|
|
1025
|
+
is_monitored: z["boolean"](),
|
|
1026
|
+
monitors: z.array(z.object({
|
|
1027
|
+
monitored_by: z.number(),
|
|
1028
|
+
created_at: CoerceDateUTC,
|
|
1029
|
+
updated_at: CoerceDateUTC
|
|
1030
|
+
})).optional()
|
|
1031
|
+
});
|
|
1032
|
+
var ComplyAdvantageMonitorSearchSuccessResponse = z.object({
|
|
1033
|
+
status: z.literal("success"),
|
|
1034
|
+
code: z.literal(200),
|
|
1035
|
+
content: ComplyAdvantageMonitorSearchDataResponse
|
|
1036
|
+
});
|
|
1037
|
+
var ComplyAdvantageMonitorSearchResponse = z.union([ComplyAdvantageMonitorSearchSuccessResponse, ComplyAdvantageSearchErrorResponse]);
|
|
1038
|
+
var ComplyAdvantageMonitoredSearchUpdate = z.object({
|
|
1039
|
+
event: z.literal("monitored_search_updated"),
|
|
1040
|
+
data: z.object({
|
|
1041
|
+
search_id: z.number(),
|
|
1042
|
+
updated: z.array(z.string()).nullish(),
|
|
1043
|
+
"new": z.array(z.string()).nullish(),
|
|
1044
|
+
removed: z.array(z.string()).nullish(),
|
|
1045
|
+
is_suspended: z["boolean"]().nullish()
|
|
1046
|
+
})
|
|
1047
|
+
});
|
|
1048
|
+
|
|
1049
|
+
/**
|
|
1050
|
+
* Merkle Science defines it own blockchain list, thus this list.
|
|
1051
|
+
* See https://docs.merklescience.com/reference/currencies
|
|
1052
|
+
*/
|
|
1053
|
+
var MerkleBlockChainTypes = {
|
|
1054
|
+
Bitcoin: "0",
|
|
1055
|
+
Ethereum: "1",
|
|
1056
|
+
Litecoin: "2",
|
|
1057
|
+
BitcoinCash: "3",
|
|
1058
|
+
Ripple: "4",
|
|
1059
|
+
Dogecoin: "6",
|
|
1060
|
+
Zilliqa: "7",
|
|
1061
|
+
BinanceSmartChain: "8",
|
|
1062
|
+
Polygon: "9",
|
|
1063
|
+
Tron: "10",
|
|
1064
|
+
Cardano: "11",
|
|
1065
|
+
Polkadot: "12",
|
|
1066
|
+
Stellar: "13",
|
|
1067
|
+
Hedera: "14",
|
|
1068
|
+
Cronos: "15",
|
|
1069
|
+
Optimism: "16",
|
|
1070
|
+
Arbitrum: "17",
|
|
1071
|
+
Fantom: "18",
|
|
1072
|
+
Monero: "19",
|
|
1073
|
+
Cosmos: "20",
|
|
1074
|
+
Zcash: "21",
|
|
1075
|
+
EthereumClassic: "22",
|
|
1076
|
+
Dash: "23",
|
|
1077
|
+
Solana: "24",
|
|
1078
|
+
AvalancheC_Chain: "25",
|
|
1079
|
+
Verge: "26",
|
|
1080
|
+
BitcoinGold: "27",
|
|
1081
|
+
Algorand: "28",
|
|
1082
|
+
Acala: "29",
|
|
1083
|
+
Akash: "30",
|
|
1084
|
+
Arweave: "31",
|
|
1085
|
+
Ardor: "32",
|
|
1086
|
+
Ark: "33",
|
|
1087
|
+
Astar: "34",
|
|
1088
|
+
Band: "35",
|
|
1089
|
+
BinanceNative: "36",
|
|
1090
|
+
Celo: "37",
|
|
1091
|
+
Chiliz: "38",
|
|
1092
|
+
Nervos: "39",
|
|
1093
|
+
CronosNative: "40",
|
|
1094
|
+
Digibyte: "41",
|
|
1095
|
+
Multiversx: "42",
|
|
1096
|
+
Enjin: "43",
|
|
1097
|
+
Eos: "44",
|
|
1098
|
+
EthereumPow: "45",
|
|
1099
|
+
FetchAI: "46",
|
|
1100
|
+
Filecoin: "47",
|
|
1101
|
+
Flow: "48",
|
|
1102
|
+
Flare: "49",
|
|
1103
|
+
Moonbeam: "50",
|
|
1104
|
+
Helium: "51",
|
|
1105
|
+
ICP: "52",
|
|
1106
|
+
Icon: "53",
|
|
1107
|
+
Injective: "54",
|
|
1108
|
+
IOTA: "55",
|
|
1109
|
+
IoTex: "56",
|
|
1110
|
+
Iris: "57",
|
|
1111
|
+
Kava: "58",
|
|
1112
|
+
Kadena: "59",
|
|
1113
|
+
Klaytn: "60",
|
|
1114
|
+
Komodo: "61",
|
|
1115
|
+
Kusama: "62",
|
|
1116
|
+
Lisk: "63",
|
|
1117
|
+
Terra: "64",
|
|
1118
|
+
Mina: "65",
|
|
1119
|
+
Moonriver: "66",
|
|
1120
|
+
Nano: "67",
|
|
1121
|
+
Near: "68",
|
|
1122
|
+
Neo3: "69",
|
|
1123
|
+
Oasys: "70",
|
|
1124
|
+
One: "71",
|
|
1125
|
+
Ontology: "72",
|
|
1126
|
+
Osmosis: "73",
|
|
1127
|
+
Polymesh: "74",
|
|
1128
|
+
QTUM: "75",
|
|
1129
|
+
Oasis: "76",
|
|
1130
|
+
Thorchain: "77",
|
|
1131
|
+
Ravencoin: "78",
|
|
1132
|
+
Siacoin: "79",
|
|
1133
|
+
Shiden: "80",
|
|
1134
|
+
Songbird: "81",
|
|
1135
|
+
Stratis: "82",
|
|
1136
|
+
Stacks: "83",
|
|
1137
|
+
SUI: "84",
|
|
1138
|
+
zkSync: "85",
|
|
1139
|
+
Theta: "86",
|
|
1140
|
+
Tomo: "87",
|
|
1141
|
+
VeChain: "88",
|
|
1142
|
+
Waves: "89",
|
|
1143
|
+
Wax: "90",
|
|
1144
|
+
WEMIX: "91",
|
|
1145
|
+
WaltonChain: "92",
|
|
1146
|
+
Chia: "93",
|
|
1147
|
+
Tezos: "94",
|
|
1148
|
+
Zcoin: "95",
|
|
1149
|
+
Celestia: "96",
|
|
1150
|
+
Neutron: "97",
|
|
1151
|
+
Avalanche_P: "98",
|
|
1152
|
+
Sei: "99",
|
|
1153
|
+
Avalanche_X: "100",
|
|
1154
|
+
Aztec: "101",
|
|
1155
|
+
Bittensor: "102",
|
|
1156
|
+
Casper: "103",
|
|
1157
|
+
Deso: "104",
|
|
1158
|
+
Juno: "105",
|
|
1159
|
+
PocketNetwork: "106",
|
|
1160
|
+
Ronin: "107",
|
|
1161
|
+
Vara: "108",
|
|
1162
|
+
XPLA: "109",
|
|
1163
|
+
Archway: "110",
|
|
1164
|
+
Axelar: "111",
|
|
1165
|
+
Dymension: "112",
|
|
1166
|
+
Starknet: "113",
|
|
1167
|
+
Orai: "114",
|
|
1168
|
+
Lukso: "115",
|
|
1169
|
+
bitsCrunch: "116",
|
|
1170
|
+
Reef: "117",
|
|
1171
|
+
ImmutablezkEVM: "118",
|
|
1172
|
+
BaseProtocol: "119",
|
|
1173
|
+
ArbitrumNova: "120",
|
|
1174
|
+
Canto: "121",
|
|
1175
|
+
MetisDAO: "122",
|
|
1176
|
+
Aptos: "123"
|
|
1177
|
+
};
|
|
1178
|
+
var BlockChainNames = ["Bitcoin", "Ethereum", "Litecoin", "BitcoinCash", "Ripple", "Dogecoin", "Zilliqa", "BinanceSmartChain", "Polygon", "Tron", "Cardano", "Polkadot", "Stellar", "Hedera", "Cronos", "Optimism", "Arbitrum", "Fantom", "Monero", "Cosmos", "Zcash", "EthereumClassic", "Dash", "Solana", "AvalancheC_Chain", "Verge", "BitcoinGold", "Algorand", "Acala", "Akash", "Arweave", "Ardor", "Ark", "Astar", "Band", "BinanceNative", "Celo", "Chiliz", "Nervos", "CronosNative", "Digibyte", "Multiversx", "Enjin", "Eos", "EthereumPow", "FetchAI", "Filecoin", "Flow", "Flare", "Moonbeam", "Helium", "ICP", "Icon", "Injective", "IOTA", "IoTex", "Iris", "Kava", "Kadena", "Klaytn", "Komodo", "Kusama", "Lisk", "Terra", "Mina", "Moonriver", "Nano", "Near", "Neo3", "Oasys", "One", "Ontology", "Osmosis", "Polymesh", "QTUM", "Oasis", "Thorchain", "Ravencoin", "Siacoin", "Shiden", "Songbird", "Stratis", "Stacks", "SUI", "zkSync", "Theta", "Tomo", "VeChain", "Waves", "Wax", "WEMIX", "WaltonChain", "Chia", "Tezos", "Zcoin", "Celestia", "Neutron", "Avalanche_P", "Sei", "Avalanche_X", "Aztec", "Bittensor", "Casper", "Deso", "Juno", "PocketNetwork", "Ronin", "Vara", "XPLA", "Archway", "Axelar", "Dymension", "Starknet", "Orai", "Lukso", "bitsCrunch", "Reef", "ImmutablezkEVM", "BaseProtocol", "ArbitrumNova", "Canto", "MetisDAO", "Aptos"];
|
|
1179
|
+
var MerkleBlockChainNames = z["enum"](BlockChainNames);
|
|
1180
|
+
var MerkleBlockChainNamesExtended = z["enum"]([].concat(BlockChainNames, ["Bitcoin Cash", "Binance Smart Chain", "Ethereum Classic", "Avalanche C-Chain", "Bitcoin Gold", "Binance Native", "Cronos Native", "Ethereum Pow", "Fetch AI", "Avalanche-P", "Avalanche-X", "Pocket Network", "Immutable zkEVM", "Base Protocol", "Arbitrum Nova"]));
|
|
1181
|
+
var BlockChainCodes = ["0", "1", "2", "3", "4", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123"];
|
|
1182
|
+
var MerkleBlockChainCodes = z["enum"](BlockChainCodes);
|
|
1183
|
+
// Needed as MerkleScience API response contains numerical value for blockchain
|
|
1184
|
+
// while the value for blockchain in request is expected to be a string...
|
|
1185
|
+
var BlockChainNumericalCodes = z.number()["int"]().min(0).max(123).refine(function (arg) {
|
|
1186
|
+
return arg !== 5;
|
|
1187
|
+
});
|
|
1188
|
+
var transactionType = {
|
|
1189
|
+
Deposit: 1,
|
|
1190
|
+
// Deposit
|
|
1191
|
+
Withdrawal: 2 // Withdrawal
|
|
1192
|
+
};
|
|
1193
|
+
var TransactionType = z.nativeEnum(transactionType);
|
|
1194
|
+
var MerkleAddressRequest = z.object({
|
|
1195
|
+
identifier: z.string(),
|
|
1196
|
+
blockchain: MerkleBlockChainCodes,
|
|
1197
|
+
customer_id: UuidString,
|
|
1198
|
+
type: TransactionType,
|
|
1199
|
+
show_alerts: z["boolean"]().nullish(),
|
|
1200
|
+
custom_tags: z.array(z.string()).nullish()
|
|
1201
|
+
});
|
|
1202
|
+
var RiskLevelVerbose = z["enum"](["No Risk Detected", "Info", "Caution", "Medium", "High", "Critical"]);
|
|
1203
|
+
var Originator = z.object({
|
|
1204
|
+
tag_type_verbose: z.string(),
|
|
1205
|
+
tag_subtype_verbose: z.string(),
|
|
1206
|
+
tag_name_verbose: z.string(),
|
|
1207
|
+
total_value_usd: z.number(),
|
|
1208
|
+
exposure_type: z.string()
|
|
1209
|
+
});
|
|
1210
|
+
var User = z.object({
|
|
1211
|
+
tag_type_verbose: z.string().nullish(),
|
|
1212
|
+
tag_subtype_verbose: z.string().nullish(),
|
|
1213
|
+
tag_name_verbose: z.string().nullish()
|
|
1214
|
+
});
|
|
1215
|
+
var DigitalAsset = z.object({
|
|
1216
|
+
name: z.string().nullish(),
|
|
1217
|
+
symbol: z.string().nullish()
|
|
1218
|
+
});
|
|
1219
|
+
var MerkleAddressApiResponse = z.object({
|
|
1220
|
+
identifier: z.string().nullish(),
|
|
1221
|
+
blockchain: BlockChainNumericalCodes.nullish(),
|
|
1222
|
+
blockchain_verbose: MerkleBlockChainNamesExtended.nullish(),
|
|
1223
|
+
customer_id: UuidString.nullish(),
|
|
1224
|
+
type: z.number().nullish(),
|
|
1225
|
+
type_verbose: z.string().nullish(),
|
|
1226
|
+
total_incoming_value: z.string().nullish(),
|
|
1227
|
+
total_incoming_value_usd: z.string().nullish(),
|
|
1228
|
+
total_outgoing_value: z.string().nullish(),
|
|
1229
|
+
total_outgoing_value_usd: z.string().nullish(),
|
|
1230
|
+
balance: z.number().nullish(),
|
|
1231
|
+
earliest_transaction_time: z.string().nullish(),
|
|
1232
|
+
latest_transaction_time: z.string().nullish(),
|
|
1233
|
+
risk_level: z.number()["int"]().min(0).max(5).nullish(),
|
|
1234
|
+
risk_level_verbose: RiskLevelVerbose.nullish(),
|
|
1235
|
+
created_at: z.string().nullish(),
|
|
1236
|
+
updated_at: z.string().nullish(),
|
|
1237
|
+
originator: z.array(Originator).nullish(),
|
|
1238
|
+
beneficiary: z.array(z.object({})).nullish(),
|
|
1239
|
+
tags: z.object({
|
|
1240
|
+
owner: User,
|
|
1241
|
+
user: User
|
|
1242
|
+
}).nullish(),
|
|
1243
|
+
custom_tags: z.array(z.string()).nullish(),
|
|
1244
|
+
digital_assets: z.array(DigitalAsset).nullish()
|
|
1245
|
+
});
|
|
1246
|
+
var MerkleAddressApiError = z.object({
|
|
1247
|
+
error: z.object({
|
|
1248
|
+
error: z.string(),
|
|
1249
|
+
message: z.string(),
|
|
1250
|
+
data: z.string().nullish()
|
|
1251
|
+
}),
|
|
1252
|
+
risk_level: z.number()["int"]().min(0).max(5).nullish(),
|
|
1253
|
+
risk_level_verbose: RiskLevelVerbose.nullish(),
|
|
1254
|
+
identifier: z.string().nullish()
|
|
1255
|
+
});
|
|
1256
|
+
var MerkleAddressResponse = z.union([MerkleAddressApiResponse, MerkleAddressApiError]);
|
|
1257
|
+
|
|
1258
|
+
var IdentityProviderOptions = ["nexeraIdSSID", "nexeraIdKYB", "synaps"];
|
|
1259
|
+
var IdentityProviders = z["enum"](IdentityProviderOptions);
|
|
1260
|
+
var DataProviderOptions = ["complyAdvantage", "big", "scorechain", "merkleScience", "ipQualityScore", "integratedComplyAdvantage", "integratedScorechain", "integratedIpqualityscore"];
|
|
1261
|
+
var DataProviders = z["enum"](DataProviderOptions);
|
|
1262
|
+
var MergedProviders = z["enum"]([].concat(_toConsumableArray(IdentityProviders.options), _toConsumableArray(DataProviders.options)));
|
|
1263
|
+
var MerkleScienceConfig = z.object({
|
|
1264
|
+
blockchain: MerkleBlockChainNames
|
|
1265
|
+
});
|
|
1266
|
+
var ScorechainConfig = ScoringAnalysisRequest.omit({
|
|
1267
|
+
objectId: true // objectId is removed, because it is not stored in CMS but rather provided on the fly by the client
|
|
1268
|
+
});
|
|
1269
|
+
var WorkflowsScorechainConfig = WorkflowsScoringAnalysisRequest.omit({
|
|
1270
|
+
objectId: true // objectId is removed, because it is not stored in CMS but rather provided on the fly by the client
|
|
1271
|
+
});
|
|
1272
|
+
var IpQualityConfig = z.object({
|
|
1273
|
+
ipVerification: z["boolean"]().nullish()["default"](false),
|
|
1274
|
+
emailVerification: z["boolean"]().nullish()["default"](false),
|
|
1275
|
+
phoneVerification: z["boolean"]().nullish()["default"](false)
|
|
1276
|
+
});
|
|
1277
|
+
var BigConfig = BitRankRequest.omit({
|
|
1278
|
+
address: true,
|
|
1279
|
+
// address is removed, because it is not stored in CMS but rather provided on the fly by the client
|
|
1280
|
+
label: true,
|
|
1281
|
+
// label is removed, because it is not stored in CMS but rather provided on the fly by the client
|
|
1282
|
+
transactionsPerPage: true // transactionsPerPage is removed, because it is not stored in CMS but rather provided on the fly by the client
|
|
1283
|
+
}).partial();
|
|
1284
|
+
var ProviderIntegrationTypeOptions = ["integrated", "external"];
|
|
1285
|
+
var ProviderIntegrationType = z["enum"](ProviderIntegrationTypeOptions);
|
|
1286
|
+
// the following configurations are used for CMS providers
|
|
1287
|
+
// seems like we are migrating from these to workflow provider configs
|
|
1288
|
+
// which do not have enabled, apiKey and integrationType
|
|
1289
|
+
// as these are now found on the providers-api microservice.
|
|
1290
|
+
|
|
1291
|
+
var BaseProvider = z.object({
|
|
1292
|
+
enabled: z["boolean"]().nullish(),
|
|
1293
|
+
apiKey: z.string().nullish(),
|
|
1294
|
+
integrationType: ProviderIntegrationType.nullish()
|
|
1295
|
+
});
|
|
1296
|
+
var NexeraIdSSIDProvider = BaseProvider;
|
|
1297
|
+
var NexeraIdKYBProvider = BaseProvider;
|
|
1298
|
+
var BigProvider = BaseProvider.extend({
|
|
1299
|
+
onRulesEngine: z.object({
|
|
1300
|
+
enabled: z["boolean"]().nullish(),
|
|
1301
|
+
config: BigConfig.array().nullish()
|
|
1302
|
+
}).nullish(),
|
|
1303
|
+
onNewRecord: z.object({
|
|
1304
|
+
enabled: z["boolean"]().nullish(),
|
|
1305
|
+
config: BigConfig.array().nullish()
|
|
1306
|
+
}).nullish()
|
|
1307
|
+
});
|
|
1308
|
+
var ScorechainProvider = BaseProvider.extend({
|
|
1309
|
+
onRulesEngine: z.object({
|
|
1310
|
+
enabled: z["boolean"]().nullish(),
|
|
1311
|
+
config: ScorechainConfig.array().nullish()
|
|
1312
|
+
}).nullish(),
|
|
1313
|
+
onNewRecord: z.object({
|
|
1314
|
+
enabled: z["boolean"]().nullish(),
|
|
1315
|
+
config: ScorechainConfig.array().nullish()
|
|
1316
|
+
}).nullish()
|
|
1317
|
+
});
|
|
1318
|
+
var MerkleScienceProvider = BaseProvider.extend({
|
|
1319
|
+
onRulesEngine: z.object({
|
|
1320
|
+
enabled: z["boolean"]().nullish(),
|
|
1321
|
+
config: MerkleScienceConfig.array().nullish()
|
|
1322
|
+
}).nullish(),
|
|
1323
|
+
onNewRecord: z.object({
|
|
1324
|
+
enabled: z["boolean"]().nullish(),
|
|
1325
|
+
config: MerkleScienceConfig.array().nullish()
|
|
1326
|
+
}).nullish()
|
|
1327
|
+
});
|
|
1328
|
+
var IpqualityscoreProvider = BaseProvider.extend({
|
|
1329
|
+
onRulesEngine: z.object({
|
|
1330
|
+
enabled: z["boolean"]().nullish(),
|
|
1331
|
+
config: IpQualityConfig.array().nullish()
|
|
1332
|
+
}).nullish(),
|
|
1333
|
+
onNewRecord: z.object({
|
|
1334
|
+
enabled: z["boolean"]().nullish(),
|
|
1335
|
+
config: IpQualityConfig.array().nullish()
|
|
1336
|
+
}).nullish()
|
|
1337
|
+
});
|
|
1338
|
+
// note this use of SearchFilterType
|
|
1339
|
+
// it is assuming that data coming in may not be in the correct format.
|
|
1340
|
+
var ComplyAdvantageProviderConfigTypes = z.array(z.preprocess(function (type) {
|
|
1341
|
+
return type.replace(/_/g, "-");
|
|
1342
|
+
}, SearchFilterType)).nullish();
|
|
1343
|
+
var ComplyAdvantageProviderConfigFilters = z.object({
|
|
1344
|
+
types: ComplyAdvantageProviderConfigTypes,
|
|
1345
|
+
removeDeceased: z["boolean"]().nullish(),
|
|
1346
|
+
countryCodes: z.array(Alpha2Country).nullish()
|
|
1347
|
+
});
|
|
1348
|
+
var ComplyAdvantageProviderConfigElement = z.object({
|
|
1349
|
+
fuzziness: z.number().min(0).max(1).nullish(),
|
|
1350
|
+
exactMatch: z["boolean"]().nullish(),
|
|
1351
|
+
filters: ComplyAdvantageProviderConfigFilters.nullish()
|
|
1352
|
+
});
|
|
1353
|
+
var ComplyAdvantageProvider = BaseProvider.extend({
|
|
1354
|
+
screenDataOnNewRecord: z["boolean"]().nullish(),
|
|
1355
|
+
monitorOnTheOngoingManner: z["boolean"]().nullish(),
|
|
1356
|
+
config: z.array(ComplyAdvantageProviderConfigElement).nullish()
|
|
1357
|
+
});
|
|
1358
|
+
var SynapsProvider = BaseProvider.extend({
|
|
1359
|
+
webhookSecret: z.string().nullish()
|
|
1360
|
+
});
|
|
1361
|
+
|
|
1362
|
+
// See comment above. --> END CMS providers
|
|
1363
|
+
|
|
1364
|
+
var ProviderData = z.object({
|
|
1365
|
+
id: z.string(),
|
|
1366
|
+
projectId: z.string(),
|
|
1367
|
+
provider: z.union([IdentityProviders, DataProviders]),
|
|
1368
|
+
type: z["enum"](["identity", "data"]),
|
|
1369
|
+
nexeraIdSSID: NexeraIdSSIDProvider.nullish(),
|
|
1370
|
+
nexeraIdKYB: NexeraIdKYBProvider.nullish(),
|
|
1371
|
+
complyAdvantage: ComplyAdvantageProvider.nullish(),
|
|
1372
|
+
synaps: SynapsProvider.nullish(),
|
|
1373
|
+
big: BigProvider.nullish(),
|
|
1374
|
+
scorechain: ScorechainProvider.nullish(),
|
|
1375
|
+
ipqualityscore: IpqualityscoreProvider.nullish(),
|
|
1376
|
+
merkleScience: MerkleScienceProvider.nullish(),
|
|
1377
|
+
integratedComplyAdvantage: ComplyAdvantageProvider.nullish(),
|
|
1378
|
+
integratedScorechain: ScorechainProvider.nullish(),
|
|
1379
|
+
integratedIpqualityscore: IpqualityscoreProvider.nullish()
|
|
1380
|
+
});
|
|
1381
|
+
var ProviderDataProject = ProviderData.omit({
|
|
1382
|
+
projectId: true
|
|
1383
|
+
}).extend({
|
|
1384
|
+
project: z.object({
|
|
1385
|
+
id: z.string()
|
|
1386
|
+
})
|
|
1387
|
+
});
|
|
1388
|
+
var GetProvidersResponse = z.array(ProviderDataProject);
|
|
1389
|
+
var GetProviderResponse = ProviderData;
|
|
1390
|
+
var CreateProviderInput = ProviderData.omit({
|
|
1391
|
+
id: true,
|
|
1392
|
+
type: true,
|
|
1393
|
+
projectId: true
|
|
1394
|
+
}).extend({
|
|
1395
|
+
project: z.string()
|
|
1396
|
+
});
|
|
1397
|
+
var CreateProviderResponse = ProviderData.omit({
|
|
1398
|
+
type: true,
|
|
1399
|
+
synaps: true,
|
|
1400
|
+
big: true,
|
|
1401
|
+
scorechain: true,
|
|
1402
|
+
merkleScience: true,
|
|
1403
|
+
nexeraIdSSID: true,
|
|
1404
|
+
nexeraIdKYB: true,
|
|
1405
|
+
ipqualityscore: true,
|
|
1406
|
+
integratedScorechain: true,
|
|
1407
|
+
integratedIpqualityscore: true
|
|
1408
|
+
});
|
|
1409
|
+
var UpdateProviderInput = z.object({
|
|
1410
|
+
providerId: z.string(),
|
|
1411
|
+
input: ProviderData.omit({
|
|
1412
|
+
id: true,
|
|
1413
|
+
projectId: true,
|
|
1414
|
+
provider: true,
|
|
1415
|
+
type: true
|
|
1416
|
+
})
|
|
1417
|
+
});
|
|
1418
|
+
var UpdateProviderResponse = ProviderData;
|
|
1419
|
+
var ToggleProviderInput = z.object({
|
|
1420
|
+
providerId: z.string(),
|
|
1421
|
+
enabled: z["boolean"]()
|
|
1422
|
+
});
|
|
1423
|
+
var DeleteProviderInput = z.object({
|
|
1424
|
+
providerId: z.string()
|
|
1425
|
+
});
|
|
1426
|
+
var DeleteProviderResponse = z.object({
|
|
1427
|
+
providerId: z.string()
|
|
1428
|
+
});
|
|
1429
|
+
|
|
1430
|
+
var SUMSUB_REVIEW_REJECT_LABELS = ["FORGERY", "DOCUMENT_TEMPLATE", "LOW_QUALITY", "SPAM", "NOT_DOCUMENT", "SELFIE_MISMATCH", "ID_INVALID", "FOREIGNER", "DUPLICATE", "BAD_AVATAR", "WRONG_USER_REGION", "INCOMPLETE_DOCUMENT", "BLACKLIST", "BLOCKLIST", "UNSATISFACTORY_PHOTOS", "DOCUMENT_PAGE_MISSING", "DOCUMENT_DAMAGED", "REGULATIONS_VIOLATIONS", "INCONSISTENT_PROFILE", "PROBLEMATIC_APPLICANT_DATA", "ADDITIONAL_DOCUMENT_REQUIRED", "AGE_REQUIREMENT_MISMATCH", "EXPERIENCE_REQUIREMENT_MISMATCH", "CRIMINAL", "WRONG_ADDRESS", "GRAPHIC_EDITOR", "DOCUMENT_DEPRIVED", "COMPROMISED_PERSONS", "PEP", "ADVERSE_MEDIA", "FRAUDULENT_PATTERNS", "SANCTIONS", "NOT_ALL_CHECKS_COMPLETED", "FRONT_SIDE_MISSING", "BACK_SIDE_MISSING", "SCREENSHOTS", "BLACK_AND_WHITE", "INCOMPATIBLE_LANGUAGE", "EXPIRATION_DATE", "UNFILLED_ID", "BAD_SELFIE", "BAD_VIDEO_SELFIE", "BAD_FACE_MATCHING", "BAD_PROOF_OF_IDENTITY", "BAD_PROOF_OF_ADDRESS", "BAD_PROOF_OF_PAYMENT", "SELFIE_WITH_PAPER", "FRAUDULENT_LIVENESS", "OTHER", "REQUESTED_DATA_MISMATCH", "OK", "COMPANY_NOT_DEFINED_STRUCTURE", "COMPANY_NOT_DEFINED_BENEFICIARIES", "COMPANY_NOT_VALIDATED_BENEFICIARIES", "COMPANY_NOT_DEFINED_REPRESENTATIVES", "COMPANY_NOT_VALIDATED_REPRESENTATIVES", "APPLICANT_INTERRUPTED_INTERVIEW", "DOCUMENT_MISSING", "UNSUITABLE_ENV", "CONNECTION_INTERRUPTED", "UNSUPPORTED_LANGUAGE", "THIRD_PARTY_INVOLVED", "CHECK_UNAVAILABLE", "INCORRECT_SOCIAL_NUMBER"];
|
|
1431
|
+
var SumSubReviewRejectLabel = z["enum"](SUMSUB_REVIEW_REJECT_LABELS);
|
|
1432
|
+
var SUMSUB_REVIEW_REJECT_LABELS_DESCRIPTION = {
|
|
1433
|
+
FORGERY: {
|
|
1434
|
+
defaultReviewRejectType: "FINAL",
|
|
1435
|
+
description: "Forgery attempt has been made"
|
|
1436
|
+
},
|
|
1437
|
+
DOCUMENT_TEMPLATE: {
|
|
1438
|
+
defaultReviewRejectType: "FINAL",
|
|
1439
|
+
description: "Documents supplied are templates, downloaded from internet"
|
|
1440
|
+
},
|
|
1441
|
+
LOW_QUALITY: {
|
|
1442
|
+
defaultReviewRejectType: "RETRY",
|
|
1443
|
+
description: "Documents have low-quality that does not allow definitive conclusions to be made"
|
|
1444
|
+
},
|
|
1445
|
+
SPAM: {
|
|
1446
|
+
defaultReviewRejectType: "FINAL",
|
|
1447
|
+
description: "An applicant has been created by mistake or is just a spam user (irrelevant images were supplied)"
|
|
1448
|
+
},
|
|
1449
|
+
NOT_DOCUMENT: {
|
|
1450
|
+
defaultReviewRejectType: "RETRY",
|
|
1451
|
+
description: "Documents supplied are not relevant for the verification procedure"
|
|
1452
|
+
},
|
|
1453
|
+
SELFIE_MISMATCH: {
|
|
1454
|
+
defaultReviewRejectType: "FINAL",
|
|
1455
|
+
description: "A user photo (profile image) does not match a photo on the provided documents"
|
|
1456
|
+
},
|
|
1457
|
+
ID_INVALID: {
|
|
1458
|
+
defaultReviewRejectType: "RETRY",
|
|
1459
|
+
description: "A document that identifies a person (like a passport or an ID card) is not valid"
|
|
1460
|
+
},
|
|
1461
|
+
FOREIGNER: {
|
|
1462
|
+
defaultReviewRejectType: "FINAL",
|
|
1463
|
+
description: "When a client does not accept applicants from a different country or e.g. without a residence permit"
|
|
1464
|
+
},
|
|
1465
|
+
DUPLICATE: {
|
|
1466
|
+
defaultReviewRejectType: "FINAL",
|
|
1467
|
+
description: "This applicant was already created for this client, and duplicates are not allowed by the regulations"
|
|
1468
|
+
},
|
|
1469
|
+
BAD_AVATAR: {
|
|
1470
|
+
defaultReviewRejectType: "RETRY",
|
|
1471
|
+
description: "When avatar does not meet the client's requirements"
|
|
1472
|
+
},
|
|
1473
|
+
WRONG_USER_REGION: {
|
|
1474
|
+
defaultReviewRejectType: "FINAL",
|
|
1475
|
+
description: "When applicants from certain regions/countries are not allowed to be registered"
|
|
1476
|
+
},
|
|
1477
|
+
INCOMPLETE_DOCUMENT: {
|
|
1478
|
+
defaultReviewRejectType: "RETRY",
|
|
1479
|
+
description: "Some information is missing from the document, or it's partially visible"
|
|
1480
|
+
},
|
|
1481
|
+
BLACKLIST: {
|
|
1482
|
+
defaultReviewRejectType: "FINAL",
|
|
1483
|
+
description: "User is blocklisted by our side"
|
|
1484
|
+
},
|
|
1485
|
+
BLOCKLIST: {
|
|
1486
|
+
defaultReviewRejectType: "FINAL",
|
|
1487
|
+
description: "User is blocklisted by your side"
|
|
1488
|
+
},
|
|
1489
|
+
UNSATISFACTORY_PHOTOS: {
|
|
1490
|
+
defaultReviewRejectType: "RETRY",
|
|
1491
|
+
description: "There were problems with the photos, like poor quality or masked information"
|
|
1492
|
+
},
|
|
1493
|
+
DOCUMENT_PAGE_MISSING: {
|
|
1494
|
+
defaultReviewRejectType: "RETRY",
|
|
1495
|
+
description: "Some pages of a document are missing (if applicable)"
|
|
1496
|
+
},
|
|
1497
|
+
DOCUMENT_DAMAGED: {
|
|
1498
|
+
defaultReviewRejectType: "RETRY",
|
|
1499
|
+
description: "Document is damaged"
|
|
1500
|
+
},
|
|
1501
|
+
REGULATIONS_VIOLATIONS: {
|
|
1502
|
+
defaultReviewRejectType: "FINAL",
|
|
1503
|
+
description: "Regulations violations"
|
|
1504
|
+
},
|
|
1505
|
+
INCONSISTENT_PROFILE: {
|
|
1506
|
+
defaultReviewRejectType: "FINAL",
|
|
1507
|
+
description: "Data or documents of different persons were uploaded to one applicant"
|
|
1508
|
+
},
|
|
1509
|
+
PROBLEMATIC_APPLICANT_DATA: {
|
|
1510
|
+
defaultReviewRejectType: "RETRY",
|
|
1511
|
+
description: "Applicant data does not match the data in the documents"
|
|
1512
|
+
},
|
|
1513
|
+
ADDITIONAL_DOCUMENT_REQUIRED: {
|
|
1514
|
+
defaultReviewRejectType: "RETRY",
|
|
1515
|
+
description: "Additional documents required to pass the check"
|
|
1516
|
+
},
|
|
1517
|
+
AGE_REQUIREMENT_MISMATCH: {
|
|
1518
|
+
defaultReviewRejectType: "FINAL",
|
|
1519
|
+
description: "Age requirement is not met (e.g. cannot rent a car to a person below 25yo)"
|
|
1520
|
+
},
|
|
1521
|
+
EXPERIENCE_REQUIREMENT_MISMATCH: {
|
|
1522
|
+
defaultReviewRejectType: "FINAL",
|
|
1523
|
+
description: "Not enough experience (e.g. driving experience is not enough)"
|
|
1524
|
+
},
|
|
1525
|
+
CRIMINAL: {
|
|
1526
|
+
defaultReviewRejectType: "FINAL",
|
|
1527
|
+
description: "The user is involved in illegal actions"
|
|
1528
|
+
},
|
|
1529
|
+
WRONG_ADDRESS: {
|
|
1530
|
+
defaultReviewRejectType: "RETRY",
|
|
1531
|
+
description: "The address from the documents doesn't match the address that the user entered"
|
|
1532
|
+
},
|
|
1533
|
+
GRAPHIC_EDITOR: {
|
|
1534
|
+
defaultReviewRejectType: "RETRY",
|
|
1535
|
+
description: "The document has been edited by a graphical editor"
|
|
1536
|
+
},
|
|
1537
|
+
DOCUMENT_DEPRIVED: {
|
|
1538
|
+
defaultReviewRejectType: "RETRY",
|
|
1539
|
+
description: "The user has been deprived of the document"
|
|
1540
|
+
},
|
|
1541
|
+
COMPROMISED_PERSONS: {
|
|
1542
|
+
defaultReviewRejectType: "FINAL",
|
|
1543
|
+
description: "The userdoes not correspond to Compromised Person Politics"
|
|
1544
|
+
},
|
|
1545
|
+
PEP: {
|
|
1546
|
+
defaultReviewRejectType: "FINAL",
|
|
1547
|
+
description: "The user belongs to the PEP category"
|
|
1548
|
+
},
|
|
1549
|
+
ADVERSE_MEDIA: {
|
|
1550
|
+
defaultReviewRejectType: "FINAL",
|
|
1551
|
+
description: "The user was found in the adverse media"
|
|
1552
|
+
},
|
|
1553
|
+
FRAUDULENT_PATTERNS: {
|
|
1554
|
+
defaultReviewRejectType: "FINAL",
|
|
1555
|
+
description: "Fraudulent behavior was detected"
|
|
1556
|
+
},
|
|
1557
|
+
SANCTIONS: {
|
|
1558
|
+
defaultReviewRejectType: "FINAL",
|
|
1559
|
+
description: "The user was found on sanction lists"
|
|
1560
|
+
},
|
|
1561
|
+
NOT_ALL_CHECKS_COMPLETED: {
|
|
1562
|
+
defaultReviewRejectType: "RETRY",
|
|
1563
|
+
description: "All checks were not completed"
|
|
1564
|
+
},
|
|
1565
|
+
FRONT_SIDE_MISSING: {
|
|
1566
|
+
defaultReviewRejectType: "RETRY",
|
|
1567
|
+
description: "Front side of the document is missing"
|
|
1568
|
+
},
|
|
1569
|
+
BACK_SIDE_MISSING: {
|
|
1570
|
+
defaultReviewRejectType: "RETRY",
|
|
1571
|
+
description: "Back side of the document is missing"
|
|
1572
|
+
},
|
|
1573
|
+
SCREENSHOTS: {
|
|
1574
|
+
defaultReviewRejectType: "RETRY",
|
|
1575
|
+
description: "The user uploaded screenshots"
|
|
1576
|
+
},
|
|
1577
|
+
BLACK_AND_WHITE: {
|
|
1578
|
+
defaultReviewRejectType: "RETRY",
|
|
1579
|
+
description: "The user uploaded black and white photos of documents"
|
|
1580
|
+
},
|
|
1581
|
+
INCOMPATIBLE_LANGUAGE: {
|
|
1582
|
+
defaultReviewRejectType: "RETRY",
|
|
1583
|
+
description: "The user should upload translation of his document"
|
|
1584
|
+
},
|
|
1585
|
+
EXPIRATION_DATE: {
|
|
1586
|
+
defaultReviewRejectType: "RETRY",
|
|
1587
|
+
description: "The user uploaded expired document"
|
|
1588
|
+
},
|
|
1589
|
+
UNFILLED_ID: {
|
|
1590
|
+
defaultReviewRejectType: "RETRY",
|
|
1591
|
+
description: "The user uploaded the document without signatures and stamps"
|
|
1592
|
+
},
|
|
1593
|
+
BAD_SELFIE: {
|
|
1594
|
+
defaultReviewRejectType: "RETRY",
|
|
1595
|
+
description: "The user uploaded a bad selfie"
|
|
1596
|
+
},
|
|
1597
|
+
BAD_VIDEO_SELFIE: {
|
|
1598
|
+
defaultReviewRejectType: "RETRY",
|
|
1599
|
+
description: "The user uploaded a bad video selfie"
|
|
1600
|
+
},
|
|
1601
|
+
BAD_FACE_MATCHING: {
|
|
1602
|
+
defaultReviewRejectType: "RETRY",
|
|
1603
|
+
description: "Face check between document and selfie failed"
|
|
1604
|
+
},
|
|
1605
|
+
BAD_PROOF_OF_IDENTITY: {
|
|
1606
|
+
defaultReviewRejectType: "RETRY",
|
|
1607
|
+
description: "The user uploaded a bad ID document"
|
|
1608
|
+
},
|
|
1609
|
+
BAD_PROOF_OF_ADDRESS: {
|
|
1610
|
+
defaultReviewRejectType: "RETRY",
|
|
1611
|
+
description: "The user uploaded a bad proof of address"
|
|
1612
|
+
},
|
|
1613
|
+
BAD_PROOF_OF_PAYMENT: {
|
|
1614
|
+
defaultReviewRejectType: "RETRY",
|
|
1615
|
+
description: "The user uploaded a bad proof of payment"
|
|
1616
|
+
},
|
|
1617
|
+
SELFIE_WITH_PAPER: {
|
|
1618
|
+
defaultReviewRejectType: "RETRY",
|
|
1619
|
+
description: "The user should upload a special selfie (e.g. selfie with paper and date on it)"
|
|
1620
|
+
},
|
|
1621
|
+
FRAUDULENT_LIVENESS: {
|
|
1622
|
+
defaultReviewRejectType: "FINAL",
|
|
1623
|
+
description: "There was an attempt to bypass liveness check"
|
|
1624
|
+
},
|
|
1625
|
+
OTHER: {
|
|
1626
|
+
defaultReviewRejectType: "RETRY",
|
|
1627
|
+
description: "Some unclassified reason"
|
|
1628
|
+
},
|
|
1629
|
+
REQUESTED_DATA_MISMATCH: {
|
|
1630
|
+
defaultReviewRejectType: "RETRY",
|
|
1631
|
+
description: "Provided info doesn't match with recognized from document data"
|
|
1632
|
+
},
|
|
1633
|
+
OK: {
|
|
1634
|
+
defaultReviewRejectType: "RETRY",
|
|
1635
|
+
description: "Custom reject label"
|
|
1636
|
+
},
|
|
1637
|
+
COMPANY_NOT_DEFINED_STRUCTURE: {
|
|
1638
|
+
defaultReviewRejectType: "RETRY",
|
|
1639
|
+
description: "Could not establish the entity's control structure"
|
|
1640
|
+
},
|
|
1641
|
+
COMPANY_NOT_DEFINED_BENEFICIARIES: {
|
|
1642
|
+
defaultReviewRejectType: "RETRY",
|
|
1643
|
+
description: "Could not identify and duly verify the entity's beneficial owners"
|
|
1644
|
+
},
|
|
1645
|
+
COMPANY_NOT_VALIDATED_BENEFICIARIES: {
|
|
1646
|
+
defaultReviewRejectType: "RETRY",
|
|
1647
|
+
description: "Beneficiaries are not validated"
|
|
1648
|
+
},
|
|
1649
|
+
COMPANY_NOT_DEFINED_REPRESENTATIVES: {
|
|
1650
|
+
defaultReviewRejectType: "RETRY",
|
|
1651
|
+
description: "Representatives are not defined"
|
|
1652
|
+
},
|
|
1653
|
+
COMPANY_NOT_VALIDATED_REPRESENTATIVES: {
|
|
1654
|
+
defaultReviewRejectType: "RETRY",
|
|
1655
|
+
description: "Representatives are not validated"
|
|
1656
|
+
},
|
|
1657
|
+
APPLICANT_INTERRUPTED_INTERVIEW: {
|
|
1658
|
+
defaultReviewRejectType: "RETRY",
|
|
1659
|
+
description: "On Video Ident call user refused to finish interview"
|
|
1660
|
+
},
|
|
1661
|
+
DOCUMENT_MISSING: {
|
|
1662
|
+
defaultReviewRejectType: "RETRY",
|
|
1663
|
+
description: "On Video Ident call user refused to show or didn't have required documents"
|
|
1664
|
+
},
|
|
1665
|
+
UNSUITABLE_ENV: {
|
|
1666
|
+
defaultReviewRejectType: "RETRY",
|
|
1667
|
+
description: "On Video Ident call user is either not alone or nor visible"
|
|
1668
|
+
},
|
|
1669
|
+
CONNECTION_INTERRUPTED: {
|
|
1670
|
+
defaultReviewRejectType: "RETRY",
|
|
1671
|
+
description: "Video Ident call connection was interrupted"
|
|
1672
|
+
},
|
|
1673
|
+
UNSUPPORTED_LANGUAGE: {
|
|
1674
|
+
defaultReviewRejectType: "FINAL",
|
|
1675
|
+
description: "Unsupported language for video identification"
|
|
1676
|
+
},
|
|
1677
|
+
THIRD_PARTY_INVOLVED: {
|
|
1678
|
+
defaultReviewRejectType: "FINAL",
|
|
1679
|
+
description: "The useris doing verification from a third party for a fee"
|
|
1680
|
+
},
|
|
1681
|
+
CHECK_UNAVAILABLE: {
|
|
1682
|
+
defaultReviewRejectType: "RETRY",
|
|
1683
|
+
description: "The database is not available"
|
|
1684
|
+
},
|
|
1685
|
+
INCORRECT_SOCIAL_NUMBER: {
|
|
1686
|
+
defaultReviewRejectType: "RETRY",
|
|
1687
|
+
description: "The user provided an incorrect social number (SSN, for example)"
|
|
1688
|
+
}
|
|
1689
|
+
};
|
|
1690
|
+
|
|
1691
|
+
/**
|
|
1692
|
+
* In Docs this is called "idDocSetType"
|
|
1693
|
+
* PHONE_VERIFICATION Phone verification step.
|
|
1694
|
+
* EMAIL_VERIFICATION Email verification step.
|
|
1695
|
+
* QUESTIONNAIRE Questionnaire.
|
|
1696
|
+
* APPLICANT_DATA Applicant data.
|
|
1697
|
+
* IDENTITY Identity step.
|
|
1698
|
+
* IDENTITY2 2nd identity step.
|
|
1699
|
+
* IDENTITY3 3rd identity step.
|
|
1700
|
+
* IDENTITY4 4th identity step.
|
|
1701
|
+
* PROOF_OF_RESIDENCE Proof of residence.
|
|
1702
|
+
* PROOF_OF_RESIDENCE2 2nd proof of residence.
|
|
1703
|
+
* SELFIE Selfie step.
|
|
1704
|
+
* SELFIE2 2nd selfie step.
|
|
1705
|
+
*/
|
|
1706
|
+
var SUMSUB_STEPS = ["PHONE_VERIFICATION", "EMAIL_VERIFICATION", "QUESTIONNAIRE", "APPLICANT_DATA", "IDENTITY", "IDENTITY2", "IDENTITY3", "IDENTITY4", "PROOF_OF_RESIDENCE", "PROOF_OF_RESIDENCE2", "SELFIE", "SELFIE2", "COMPANY"];
|
|
1707
|
+
var SumSubStep = z["enum"](SUMSUB_STEPS);
|
|
1708
|
+
var SUMSUB_APPLICANT_TYPES = ["individual", "company"];
|
|
1709
|
+
var SumSubApplicantType = z["enum"](SUMSUB_APPLICANT_TYPES);
|
|
1710
|
+
/**
|
|
1711
|
+
* GREEN — check was successful.
|
|
1712
|
+
* YELLOW — user is allowed to proceed, final check result will be determined later.
|
|
1713
|
+
* RED — user has been decisively rejected and is not allowed to proceed.
|
|
1714
|
+
*/
|
|
1715
|
+
var SUMSUB_REVIEW_ANSWERS = ["GREEN", "RED", "YELLOW"];
|
|
1716
|
+
var SumSubReviewAnswer = z["enum"](SUMSUB_REVIEW_ANSWERS);
|
|
1717
|
+
var SUMSUB_REVIEW_REJECT_TYPES = ["FINAL", "RETRY"];
|
|
1718
|
+
var SumSubReviewRejectType = z["enum"](SUMSUB_REVIEW_REJECT_TYPES);
|
|
1719
|
+
/**
|
|
1720
|
+
* Type Optional Description
|
|
1721
|
+
* country String Yes Alpha-3 country code.
|
|
1722
|
+
* postCode String Yes Postal code.
|
|
1723
|
+
* town String Yes Town or city name.
|
|
1724
|
+
* street String Yes Street name.
|
|
1725
|
+
* subStreet String Yes Additional street information.
|
|
1726
|
+
* state String Yes State name if applicable.
|
|
1727
|
+
* #
|
|
1728
|
+
*/
|
|
1729
|
+
var SumSubAddress = z.object({
|
|
1730
|
+
country: ISO3CountryCode.optional(),
|
|
1731
|
+
postCode: z.string().optional(),
|
|
1732
|
+
town: z.string().optional(),
|
|
1733
|
+
street: z.string().optional(),
|
|
1734
|
+
subStreet: z.string().optional(),
|
|
1735
|
+
state: z.string().optional()
|
|
1736
|
+
});
|
|
1737
|
+
var SumSubApplicantInfo = z.object({
|
|
1738
|
+
firstName: z.string().optional().describe("First name."),
|
|
1739
|
+
lastName: z.string().optional().describe("Last name."),
|
|
1740
|
+
middleName: z.string().optional().describe("Middle name."),
|
|
1741
|
+
firstNameEn: z.string().optional().describe("Automatic transliteration of the first name."),
|
|
1742
|
+
lastNameEn: z.string().optional().describe("Automatic transliteration of the last name."),
|
|
1743
|
+
middleNameEn: z.string().optional().describe("Automatic transliteration of the middle name."),
|
|
1744
|
+
legalName: z.string().optional().describe("Legal name of the applicant."),
|
|
1745
|
+
gender: z.string().optional().describe("Male or Female"),
|
|
1746
|
+
dob: z.string().optional().describe("Date of birth (format YYYY-mm-dd, e.g. 2001-09-25)."),
|
|
1747
|
+
placeOfBirth: z.string().optional().describe("Place of birth."),
|
|
1748
|
+
country: ISO3CountryCode.optional(),
|
|
1749
|
+
nationality: ISO3CountryCode.optional(),
|
|
1750
|
+
addresses: z.array(SumSubAddress).optional().describe("List of addresses."),
|
|
1751
|
+
idDocs: z.array(z.record(z.string().nullish())).optional().describe("Represents the set of data recognized from uploaded documents."),
|
|
1752
|
+
tin: z.string().optional().describe("Tax Identification Number.")
|
|
1753
|
+
});
|
|
1754
|
+
var INDIVIDUAL_BENEFICIARY_RELATIONS = ["director", "shareholder", "other"];
|
|
1755
|
+
var IndividualBeneficiaryRelation = z.union([z["enum"](INDIVIDUAL_BENEFICIARY_RELATIONS), z.string()]);
|
|
1756
|
+
var BENEFICIARY_TYPES = ["ubo", "shareholder", "representative"];
|
|
1757
|
+
var BeneficiaryType = z["enum"](BENEFICIARY_TYPES);
|
|
1758
|
+
var BeneficiaryCompanyCustomerClaims = z.object({
|
|
1759
|
+
applicantId: z.string(),
|
|
1760
|
+
type: BeneficiaryType,
|
|
1761
|
+
positions: z.array(z.string()).nullish(),
|
|
1762
|
+
inRegistry: z["boolean"]().nullish(),
|
|
1763
|
+
imageIds: z.array(z.string()).nullish()
|
|
1764
|
+
});
|
|
1765
|
+
var BeneficiaryCompanyCustomerClaimsArray = z.array(BeneficiaryCompanyCustomerClaims);
|
|
1766
|
+
var SumSubCompanyApplicantInfo = z.object({
|
|
1767
|
+
companyName: z.string(),
|
|
1768
|
+
registrationNumber: z.string(),
|
|
1769
|
+
country: ISO3CountryCode,
|
|
1770
|
+
legalAddress: z.string().nullish(),
|
|
1771
|
+
incorporatedOn: z.coerce.date().nullish(),
|
|
1772
|
+
type: z.string().nullish(),
|
|
1773
|
+
email: z.string().nullish(),
|
|
1774
|
+
phone: z.string().nullish(),
|
|
1775
|
+
controlScheme: z.string().nullish(),
|
|
1776
|
+
taxId: z.string().nullish(),
|
|
1777
|
+
registrationLocation: z.string().nullish(),
|
|
1778
|
+
postalAddress: z.string().nullish(),
|
|
1779
|
+
addresses: z.array(z.string()).nullish(),
|
|
1780
|
+
website: z.string().nullish(),
|
|
1781
|
+
noUBOs: z["boolean"]().nullish(),
|
|
1782
|
+
beneficiaries: BeneficiaryCompanyCustomerClaimsArray.nullish()
|
|
1783
|
+
});
|
|
1784
|
+
var SUMSUB_WEBHOOK_INTERNAL_STATUS = ["started", "handled"];
|
|
1785
|
+
var SumsubWebhookInternalStatus = z["enum"](SUMSUB_WEBHOOK_INTERNAL_STATUS);
|
|
1786
|
+
var SUMSUB_REVIEW_STATUSES = ["init", "pending", "prechecked", "queued", "completed", "onHold"];
|
|
1787
|
+
var SumSubReviewStatus = z["enum"](SUMSUB_REVIEW_STATUSES);
|
|
1788
|
+
/**
|
|
1789
|
+
* Value Description
|
|
1790
|
+
* ID_CARD An ID card
|
|
1791
|
+
* PASSPORT A passport
|
|
1792
|
+
* DRIVERS A driving license
|
|
1793
|
+
* RESIDENCE_PERMIT Residence permit or registration document in the foreign city/country
|
|
1794
|
+
* UTILITY_BILL Proof of address document. Check here for the full list of acceptable docs as UTILITY_BILL
|
|
1795
|
+
* SELFIE A selfie with a document
|
|
1796
|
+
* VIDEO_SELFIE A selfie video (can be used in webSDK or mobileSDK)
|
|
1797
|
+
* PROFILE_IMAGE A profile image, i.e. avatar (in this case no additional metadata should be sent)
|
|
1798
|
+
* ID_DOC_PHOTO Photo from an ID doc (like a photo from a passport) (No additional metadata should be sent)
|
|
1799
|
+
* AGREEMENT Agreement of some sort, e.g. for processing personal info
|
|
1800
|
+
* CONTRACT Some sort of contract
|
|
1801
|
+
* DRIVERS_TRANSLATION Translation of the driving license required in the target country
|
|
1802
|
+
* INVESTOR_DOC A document from an investor, e.g. documents which disclose assets of the investor
|
|
1803
|
+
* VEHICLE_REGISTRATION_CERTIFICATE Certificate of vehicle registration
|
|
1804
|
+
* INCOME_SOURCE A proof of income
|
|
1805
|
+
* PAYMENT_METHOD Entity confirming payment (like bank card, crypto wallet, etc)
|
|
1806
|
+
* BANK_CARD A bank card, like Visa or Maestro
|
|
1807
|
+
* COVID_VACCINATION_FORM COVID vaccination document (may contain the QR code)
|
|
1808
|
+
* OTHER Should be used only when nothing else applies
|
|
1809
|
+
* #
|
|
1810
|
+
*/
|
|
1811
|
+
|
|
1812
|
+
var SUMSUB_DOC_TYPES = ["ID_CARD", "PASSPORT", "DRIVERS", "RESIDENCE_PERMIT", "UTILITY_BILL", "SELFIE", "VIDEO_SELFIE", "PROFILE_IMAGE", "ID_DOC_PHOTO", "AGREEMENT", "CONTRACT", "DRIVERS_TRANSLATION", "INVESTOR_DOC", "VEHICLE_REGISTRATION_CERTIFICATE", "INCOME_SOURCE", "PAYMENT_METHOD", "BANK_CARD", "COVID_VACCINATION_FORM", "OTHER"];
|
|
1813
|
+
var SumSubDocType = z["enum"](SUMSUB_DOC_TYPES);
|
|
1814
|
+
var SUMSUB_FLOW_LEVEL = ["basic-kyc-level", "basic-kyc-level+aml", "liveness-level", "id+liveness", "kyc", "phone-level", "kyc_video", "nid-idscan-selfie-por", "NID - ID Scan + Selfie + POR", "nid-idscan-selfie", "NIDKYB", "selfie", "ID Scan", "kyc-video-id+selfie", "kyc-video-id+selfie+por"];
|
|
1815
|
+
var SumSubFlowLevel = z["enum"](SUMSUB_FLOW_LEVEL);
|
|
1816
|
+
|
|
1817
|
+
var SumSubReviewResultSchema = z.object({
|
|
1818
|
+
reviewAnswer: SumSubReviewAnswer.optional(),
|
|
1819
|
+
rejectLabels: z.array(SumSubReviewRejectLabel).optional(),
|
|
1820
|
+
reviewRejectType: SumSubReviewRejectType.optional(),
|
|
1821
|
+
clientComment: z.string().optional(),
|
|
1822
|
+
moderationComment: z.string().optional(),
|
|
1823
|
+
buttonIds: z.array(z.string()).optional(),
|
|
1824
|
+
reviewDate: z.coerce.date().optional()
|
|
1825
|
+
});
|
|
1826
|
+
var SumSubImageReviewResultSchema = z.object({
|
|
1827
|
+
reviewAnswer: SumSubReviewAnswer.optional(),
|
|
1828
|
+
moderationComment: z.string().optional(),
|
|
1829
|
+
clientComment: z.string().optional(),
|
|
1830
|
+
rejectLabels: z.array(SumSubReviewRejectLabel).optional(),
|
|
1831
|
+
reviewRejectType: SumSubReviewRejectType.optional()
|
|
1832
|
+
});
|
|
1833
|
+
var SumsubApplicantTypes = ["individual", "company"];
|
|
1834
|
+
var SumsubApplicantType = z["enum"](SumsubApplicantTypes);
|
|
1835
|
+
var SumSubIndividualApplicantSchema = z.object({
|
|
1836
|
+
id: z.string().describe("An applicantId."),
|
|
1837
|
+
createdAt: z.string().describe("Date of creation of the applicant."),
|
|
1838
|
+
sourceKey: z.string().describe("If you want to separate your clients that send applicants, provide this field to distinguish between them. It also shows up at the webhook payloads.").optional(),
|
|
1839
|
+
email: z.string().optional(),
|
|
1840
|
+
phone: z.string().optional(),
|
|
1841
|
+
lang: z.string().optional().describe("The language in which the applicant should see the result of verification in ISO 639-1 format."),
|
|
1842
|
+
metadata: z.array(z.record(z.string())).optional().describe("Additional information that is not displayed to the end user"),
|
|
1843
|
+
key: z.string(),
|
|
1844
|
+
clientId: z.string(),
|
|
1845
|
+
inspectionId: z.string(),
|
|
1846
|
+
externalUserId: z.string(),
|
|
1847
|
+
info: SumSubApplicantInfo.nullish(),
|
|
1848
|
+
fixedInfo: SumSubApplicantInfo.nullish(),
|
|
1849
|
+
applicantPlatform: z.string(),
|
|
1850
|
+
ipCountry: z.string().optional(),
|
|
1851
|
+
agreement: z.object({
|
|
1852
|
+
createdAt: z.string(),
|
|
1853
|
+
source: z.string(),
|
|
1854
|
+
targets: z.array(z.string()).optional(),
|
|
1855
|
+
privacyNoticeUrl: z.string().nullish()
|
|
1856
|
+
}).nullish(),
|
|
1857
|
+
review: z.object({
|
|
1858
|
+
reviewId: z.string(),
|
|
1859
|
+
attemptId: z.string(),
|
|
1860
|
+
attemptCnt: z.number(),
|
|
1861
|
+
elapsedSincePendingMs: z.number().optional(),
|
|
1862
|
+
elapsedSinceQueuedMs: z.number().optional(),
|
|
1863
|
+
reprocessing: z["boolean"]().optional(),
|
|
1864
|
+
levelName: z.string(),
|
|
1865
|
+
levelAutoCheckMode: z["null"](),
|
|
1866
|
+
createDate: z.string(),
|
|
1867
|
+
reviewDate: z.coerce.date().optional(),
|
|
1868
|
+
reviewResult: SumSubReviewResultSchema.optional(),
|
|
1869
|
+
reviewStatus: SumSubReviewStatus.optional(),
|
|
1870
|
+
confirmed: z["boolean"]().optional(),
|
|
1871
|
+
priority: z.number()
|
|
1872
|
+
}),
|
|
1873
|
+
type: SumsubApplicantType
|
|
1874
|
+
});
|
|
1875
|
+
var SumSubCompanyApplicantSchema = z.object({
|
|
1876
|
+
id: z.string(),
|
|
1877
|
+
createdAt: z.string(),
|
|
1878
|
+
// key: z.string(),
|
|
1879
|
+
// clientId: z.string(),
|
|
1880
|
+
inspectionId: z.string(),
|
|
1881
|
+
externalUserId: z.string(),
|
|
1882
|
+
info: z.object({
|
|
1883
|
+
idDocs: z.array(z.object({
|
|
1884
|
+
idDocType: z.string(),
|
|
1885
|
+
country: z.string()
|
|
1886
|
+
// documentId: z.string(), //Id from document table
|
|
1887
|
+
})),
|
|
1888
|
+
companyInfo: SumSubCompanyApplicantInfo.nullish()
|
|
1889
|
+
}).nullish(),
|
|
1890
|
+
applicantPlatform: z.string(),
|
|
1891
|
+
ipCountry: z.string().nullish(),
|
|
1892
|
+
agreement: z.object({
|
|
1893
|
+
createdAt: z.string().optional(),
|
|
1894
|
+
acceptedAt: z.string().optional(),
|
|
1895
|
+
source: z.string().optional(),
|
|
1896
|
+
targets: z.array(z.string()).optional(),
|
|
1897
|
+
privacyNoticeUrl: z.string().optional()
|
|
1898
|
+
}).nullish(),
|
|
1899
|
+
review: z.object({
|
|
1900
|
+
reviewId: z.string(),
|
|
1901
|
+
attemptId: z.string(),
|
|
1902
|
+
attemptCnt: z.number(),
|
|
1903
|
+
elapsedSincePendingMs: z.number(),
|
|
1904
|
+
elapsedSinceQueuedMs: z.number(),
|
|
1905
|
+
reprocessing: z["boolean"](),
|
|
1906
|
+
levelName: z.string(),
|
|
1907
|
+
levelAutoCheckMode: z["null"](),
|
|
1908
|
+
createDate: z.string(),
|
|
1909
|
+
reviewDate: z.coerce.date().optional(),
|
|
1910
|
+
reviewResult: z.object({
|
|
1911
|
+
reviewAnswer: z.string()
|
|
1912
|
+
}),
|
|
1913
|
+
reviewStatus: z.string(),
|
|
1914
|
+
confirmed: z["boolean"](),
|
|
1915
|
+
priority: z.number()
|
|
1916
|
+
}).partial(),
|
|
1917
|
+
lang: z.string().nullish(),
|
|
1918
|
+
type: SumsubApplicantType
|
|
1919
|
+
});
|
|
1920
|
+
var SumSubImageId = z.coerce.number();
|
|
1921
|
+
var SUMSUB_COMPANY_BENEFICIARY_GROUP = ["company", "ubos", "shareholders", "representatives", "directors"];
|
|
1922
|
+
var SumsubCompanyBeneficiaryGroup = z["enum"](SUMSUB_COMPANY_BENEFICIARY_GROUP);
|
|
1923
|
+
var SumsubStepStatus = z.object({
|
|
1924
|
+
name: SumsubCompanyBeneficiaryGroup,
|
|
1925
|
+
reviewStatus: SumSubReviewStatus.nullish(),
|
|
1926
|
+
reviewResult: SumSubReviewResultSchema.nullish(),
|
|
1927
|
+
images: z.array(z.object({
|
|
1928
|
+
imageId: SumSubImageId,
|
|
1929
|
+
idDocType: z.string(),
|
|
1930
|
+
idDocSubType: z.string()
|
|
1931
|
+
})).nullish()
|
|
1932
|
+
});
|
|
1933
|
+
var SumSubVerificationStepSchema = z.object({
|
|
1934
|
+
reviewResult: SumSubReviewResultSchema.optional(),
|
|
1935
|
+
country: z.string().nullish(),
|
|
1936
|
+
idDocType: z.string().nullish(),
|
|
1937
|
+
imageIds: z.array(SumSubImageId).nullish(),
|
|
1938
|
+
imageReviewResults: z.record(SumSubImageId, SumSubImageReviewResultSchema).nullish(),
|
|
1939
|
+
stepStatuses: z.array(SumsubStepStatus).nullish()
|
|
1940
|
+
});
|
|
1941
|
+
var SumSubApplicantVerificationStepSchema = z.record(SumSubStep, SumSubVerificationStepSchema.nullish()).nullish();
|
|
1942
|
+
var SumSubApplicantModerationStatusSchema = z.object({
|
|
1943
|
+
list: z.object({
|
|
1944
|
+
totalItems: z.number(),
|
|
1945
|
+
items: z.array(z.object({
|
|
1946
|
+
id: z.string(),
|
|
1947
|
+
applicantId: z.string(),
|
|
1948
|
+
key: z.string(),
|
|
1949
|
+
imagesStates: z.record(z.string(), z.object({
|
|
1950
|
+
state: z.record(z.string(), z.object({
|
|
1951
|
+
value: z["boolean"]().optional()
|
|
1952
|
+
}))
|
|
1953
|
+
})).nullish().describe("Structure contains imageId and buttonId which indicate rejection reason"),
|
|
1954
|
+
applicantState: z.record(z.string(), z.object({
|
|
1955
|
+
value: z["boolean"]().optional()
|
|
1956
|
+
})).nullish().describe("Structure contains buttonId which indicate rejection reason of applicant data or applicant itself")
|
|
1957
|
+
}))
|
|
1958
|
+
})
|
|
1959
|
+
});
|
|
1960
|
+
var SUMSUB_MEDIA_CONTENT_TYPES = ["image/jpeg", "image/png", "application/pdf", "video/mp4", "video/webm", "video/quicktime"];
|
|
1961
|
+
var SumSubMediaContentType = z["enum"](SUMSUB_MEDIA_CONTENT_TYPES);
|
|
1962
|
+
var DocumentMetadataSchema = z.object({
|
|
1963
|
+
country: z.string(),
|
|
1964
|
+
idDocType: z.string(),
|
|
1965
|
+
idDocSubType: z.string().nullish(),
|
|
1966
|
+
firstName: z.string().nullish(),
|
|
1967
|
+
lastName: z.string().nullish(),
|
|
1968
|
+
dob: z.string().nullish(),
|
|
1969
|
+
placeOfBirth: z.string().nullish(),
|
|
1970
|
+
issuedDate: z.string().nullish(),
|
|
1971
|
+
validUntil: z.string().nullish(),
|
|
1972
|
+
number: z.string().nullish()
|
|
1973
|
+
});
|
|
1974
|
+
var SumSubApplicantReviewStatusSchema = z.object({
|
|
1975
|
+
createDate: z.string().optional(),
|
|
1976
|
+
reviewDate: z.string().optional(),
|
|
1977
|
+
startDate: z.string().optional(),
|
|
1978
|
+
reviewResult: SumSubReviewResultSchema.optional(),
|
|
1979
|
+
reviewStatus: SumSubReviewStatus.optional(),
|
|
1980
|
+
levelName: z.string().optional(),
|
|
1981
|
+
attemptCnt: z.number().optional()
|
|
1982
|
+
});
|
|
1983
|
+
var SumSubApplicantResetSchema = z.object({
|
|
1984
|
+
ok: z.literal(1)
|
|
1985
|
+
});
|
|
1986
|
+
var SumSubGenerateExternalWebSdkLinkSchema = z.object({
|
|
1987
|
+
url: z.string()
|
|
1988
|
+
});
|
|
1989
|
+
var SumsubVideoCallData = z.object({
|
|
1990
|
+
id: z.string(),
|
|
1991
|
+
videoIdentData: z.object({
|
|
1992
|
+
reviewStatus: z.string().nullish(),
|
|
1993
|
+
roomId: z.string().nullish(),
|
|
1994
|
+
modifiedAt: z.string().nullish(),
|
|
1995
|
+
moderatorDisplayName: z.string().nullish(),
|
|
1996
|
+
compositions: z.array(z.object({
|
|
1997
|
+
compositionSid: z.string(),
|
|
1998
|
+
roomSid: z.string(),
|
|
1999
|
+
roomDuration: z.number(),
|
|
2000
|
+
compositionDuration: z.number(),
|
|
2001
|
+
compositionMediaId: z.string()
|
|
2002
|
+
}).nullish()).nullish()
|
|
2003
|
+
}).nullish()
|
|
2004
|
+
});
|
|
2005
|
+
var SumsubKycDataSchema = z.object({
|
|
2006
|
+
id: z.string(),
|
|
2007
|
+
sumsubApplicantId: z.string(),
|
|
2008
|
+
kycSessionId: z.string(),
|
|
2009
|
+
applicantData: SumSubIndividualApplicantSchema,
|
|
2010
|
+
createdAt: z.coerce.date(),
|
|
2011
|
+
updatedAt: z.coerce.date()
|
|
2012
|
+
});
|
|
2013
|
+
var SumsubKybDataSchema = z.object({
|
|
2014
|
+
id: z.string(),
|
|
2015
|
+
sumsubApplicantId: z.string(),
|
|
2016
|
+
kybSessionId: z.string(),
|
|
2017
|
+
applicantData: SumSubCompanyApplicantSchema,
|
|
2018
|
+
createdAt: z.coerce.date(),
|
|
2019
|
+
updatedAt: z.coerce.date()
|
|
2020
|
+
});
|
|
2021
|
+
var SumSubApplicantSchema = z.union([SumSubIndividualApplicantSchema, SumSubCompanyApplicantSchema]);
|
|
2022
|
+
var SUMSUB_KYB_SESSION_FLOW_SECTION_STATUS = ["pending", "success", "failed"];
|
|
2023
|
+
var SumsubKybSessionFlowSectionStatus = z["enum"](SUMSUB_KYB_SESSION_FLOW_SECTION_STATUS);
|
|
2024
|
+
var SumsubKybSessionFlowSectionItem = z.object({
|
|
2025
|
+
name: z.string(),
|
|
2026
|
+
detail: z.string(),
|
|
2027
|
+
status: SumsubKybSessionFlowSectionStatus
|
|
2028
|
+
});
|
|
2029
|
+
var SumsubKybSessionFlowSection = z.array(SumsubKybSessionFlowSectionItem);
|
|
2030
|
+
var SumSubSimilarApplicantSchema = z.object({
|
|
2031
|
+
applicant: SumSubApplicantSchema.optional(),
|
|
2032
|
+
matchedFields: z.array(z.string().optional()).optional(),
|
|
2033
|
+
exactMatch: z["boolean"]().optional(),
|
|
2034
|
+
blacklisted: z["boolean"]().optional(),
|
|
2035
|
+
sameSource: z["boolean"]().optional(),
|
|
2036
|
+
types: z.array(z.any()).optional(),
|
|
2037
|
+
originalImageId: z.number().optional(),
|
|
2038
|
+
similaritySource: z.any().optional(),
|
|
2039
|
+
similarityConfidence: z.any().optional()
|
|
2040
|
+
});
|
|
2041
|
+
var SumSubSimilarApplicantsSchema = z.object({
|
|
2042
|
+
similarApplicants: z.array(SumSubSimilarApplicantSchema).optional()
|
|
2043
|
+
});
|
|
2044
|
+
|
|
2045
|
+
var WEBHOOK_TYPES = ["applicantReviewed", "applicantCreated", "applicantPending", "applicantOnHold", "applicantPersonalInfoChanged", "applicantPrechecked", "applicantDeleted", "applicantLevelChanged", "videoIdentStatusChanged", "applicantReset", "applicantActionPending", "applicantActionReviewed", "applicantActionOnHold", "applicantTravelRuleStatusChanged", "applicantWorkflowCompleted", "applicantTagsChanged"];
|
|
2046
|
+
var WebhookType = z["enum"](WEBHOOK_TYPES);
|
|
2047
|
+
var ApplicantMemberOfSchema = z.array(z.object({
|
|
2048
|
+
applicantId: z.string()
|
|
2049
|
+
}));
|
|
2050
|
+
var SumSubWebhookSchema = z.object({
|
|
2051
|
+
applicantId: z.string(),
|
|
2052
|
+
inspectionId: z.string(),
|
|
2053
|
+
applicantType: SumSubApplicantType,
|
|
2054
|
+
// when type is "applicantOnHold" | "applicantPersonalInfoChanged"
|
|
2055
|
+
correlationId: z.string(),
|
|
2056
|
+
levelName: SumSubFlowLevel,
|
|
2057
|
+
sandboxMode: z.coerce["boolean"](),
|
|
2058
|
+
externalUserId: z.string(),
|
|
2059
|
+
// should be UUID String because this is our internal user id
|
|
2060
|
+
type: WebhookType,
|
|
2061
|
+
reviewResult: SumSubReviewResultSchema.nullish(),
|
|
2062
|
+
// when type is "applicantReviewed" | "applicantPersonalInfoChanged"
|
|
2063
|
+
reviewStatus: SumSubReviewStatus,
|
|
2064
|
+
createdAtMs: z.string().nullish(),
|
|
2065
|
+
clientId: z.string(),
|
|
2066
|
+
videoIdentReviewStatus: z.string().nullish(),
|
|
2067
|
+
// when type is "videoIdentStatusChanged"
|
|
2068
|
+
applicantMemberOf: ApplicantMemberOfSchema.nullish() // for beneficiaries related to companies
|
|
2069
|
+
});
|
|
2070
|
+
var BaseApplicantActionSchema = z.object({
|
|
2071
|
+
applicantId: z.string(),
|
|
2072
|
+
applicantActionId: z.string(),
|
|
2073
|
+
inspectionId: z.string(),
|
|
2074
|
+
correlationId: z.string(),
|
|
2075
|
+
externalUserId: z.string(),
|
|
2076
|
+
// should be UUID String because this is our internal user id
|
|
2077
|
+
type: WebhookType,
|
|
2078
|
+
reviewStatus: SumSubReviewStatus,
|
|
2079
|
+
createdAtMs: z.string(),
|
|
2080
|
+
externalApplicantActionId: z.string(),
|
|
2081
|
+
applicantType: SumSubApplicantType,
|
|
2082
|
+
reviewResult: SumSubReviewResultSchema
|
|
2083
|
+
});
|
|
2084
|
+
|
|
2085
|
+
var KYC_STEP_TYPES = ["Started", "TermsAndConditionsAccepted", "Identity", "Liveness", "ProofOfResidence", "ContactInfo"];
|
|
2086
|
+
var KycStep = z["enum"](KYC_STEP_TYPES);
|
|
2087
|
+
var KYC_RESULTS = ["Passed", "ToBeManuallyChecked",
|
|
2088
|
+
// use in case applicantReviewed event comes without reviewResult.reviewAnswer
|
|
2089
|
+
"Rejected", "Retry"];
|
|
2090
|
+
var KycResult = z["enum"](KYC_RESULTS);
|
|
2091
|
+
var KYC_SESSION_STATUSES = ["NotStarted",
|
|
2092
|
+
// when we ask for current session and it does not exists
|
|
2093
|
+
"Started",
|
|
2094
|
+
// when we receive applicantCreated event
|
|
2095
|
+
"UserDataSubmitted",
|
|
2096
|
+
// when we receive applicantPending event
|
|
2097
|
+
"VerificationChecked",
|
|
2098
|
+
// when we receive applicantReviewed event
|
|
2099
|
+
"CredentialsClaimed",
|
|
2100
|
+
// once verifiable credentials were claimed
|
|
2101
|
+
"Closed" // when we reset the applicant ???
|
|
2102
|
+
];
|
|
2103
|
+
var KycSessionStatus = z["enum"](KYC_SESSION_STATUSES);
|
|
2104
|
+
var SelectKycSession = z.object({
|
|
2105
|
+
id: UuidString,
|
|
2106
|
+
customerId: UuidString,
|
|
2107
|
+
address: BlockchainAddress.nullish(),
|
|
2108
|
+
blockchainNamespace: BlockchainNamespace.nullish(),
|
|
2109
|
+
sandboxSimulated: z.coerce["boolean"]().nullish(),
|
|
2110
|
+
cmsProjectId: z.string(),
|
|
2111
|
+
result: KycResult.nullish(),
|
|
2112
|
+
reviewAnswer: SumSubReviewAnswer.nullish(),
|
|
2113
|
+
reviewRejectType: SumSubReviewRejectType.nullish(),
|
|
2114
|
+
sandboxMode: z.coerce["boolean"]().nullish(),
|
|
2115
|
+
status: KycSessionStatus.nullish(),
|
|
2116
|
+
ip: z.string().nullish(),
|
|
2117
|
+
notificationEmail: z.string().nullish(),
|
|
2118
|
+
createdAt: z.coerce.date(),
|
|
2119
|
+
updatedAt: z.coerce.date(),
|
|
2120
|
+
scenarioExecutions: SdkVerificationOutput.nullish(),
|
|
2121
|
+
workflowId: z.string().nullable()
|
|
2122
|
+
});
|
|
2123
|
+
var SelectKycSessionStep = z.object({
|
|
2124
|
+
id: UuidString,
|
|
2125
|
+
type: KycStep,
|
|
2126
|
+
customerId: UuidString,
|
|
2127
|
+
kycSessionId: UuidString,
|
|
2128
|
+
createdAt: z.coerce.date()
|
|
2129
|
+
});
|
|
2130
|
+
var GetKycSessionInput = z.object({
|
|
2131
|
+
projectId: z.string()
|
|
2132
|
+
});
|
|
2133
|
+
var GetKycSessionResponse = SelectKycSession.extend({
|
|
2134
|
+
stepsCompleted: z.array(SelectKycSessionStep),
|
|
2135
|
+
customerStatus: CustomerStatus.nullish(),
|
|
2136
|
+
sumSubReviewResult: z.object(_defineProperty(_defineProperty({}, SumSubStep["enum"].IDENTITY, z.array(SumSubReviewRejectLabel)), SumSubStep["enum"].SELFIE, z.array(SumSubReviewRejectLabel))).nullish()
|
|
2137
|
+
});
|
|
2138
|
+
var UpdateKycSessionOutput = z.string();
|
|
2139
|
+
var VideoKycMetaData = z.object({
|
|
2140
|
+
id: z.string(),
|
|
2141
|
+
journeyId: z.string(),
|
|
2142
|
+
reviewStatus: z.string(),
|
|
2143
|
+
roomId: z.string(),
|
|
2144
|
+
moderatorDisplayName: z.string()
|
|
2145
|
+
});
|
|
2146
|
+
var ProofOfResidenceMetaData = ProofOfResidenceCredentialSubjectSchema.omit({
|
|
2147
|
+
base64: true,
|
|
2148
|
+
id: true
|
|
2149
|
+
});
|
|
2150
|
+
var ProofOfResidenceDocumentType = ProofOfResidenceMetaData.shape.documentType;
|
|
2151
|
+
var GetCredentialsOutput = z.object({
|
|
2152
|
+
IDInformation: QrCodeLinkWithSchemaType.optional(),
|
|
2153
|
+
SelfieImage: QrCodeLinkWithSchemaType.optional(),
|
|
2154
|
+
IDImage: QrCodeLinkWithSchemaType.optional(),
|
|
2155
|
+
ProofOfResidence: QrCodeLinkWithSchemaType.optional()
|
|
2156
|
+
});
|
|
2157
|
+
var CustomerContactInformationOutput = z.object({
|
|
2158
|
+
id: z.string(),
|
|
2159
|
+
customerId: z.string(),
|
|
2160
|
+
information: BasicCustomerContactInformation,
|
|
2161
|
+
createdAt: z.date(),
|
|
2162
|
+
updatedAt: z.date()
|
|
2163
|
+
});
|
|
2164
|
+
var CredentialMetadata = z.object({
|
|
2165
|
+
type: CredentialType,
|
|
2166
|
+
imageId: z.number().nullish()
|
|
2167
|
+
});
|
|
2168
|
+
var GetKycSessionResponseWithCredentialsMetadata = GetKycSessionResponse.extend({
|
|
2169
|
+
credentialsMetadata: z.array(CredentialMetadata),
|
|
2170
|
+
applicantName: z.string().nullish(),
|
|
2171
|
+
applicationDate: z.string().nullish()
|
|
2172
|
+
});
|
|
2173
|
+
|
|
2174
|
+
var KYB_STEP_TYPES = ["Started"];
|
|
2175
|
+
var KybStep = z["enum"](KYB_STEP_TYPES);
|
|
2176
|
+
var KYB_RESULTS = ["Passed", "ToBeManuallyChecked",
|
|
2177
|
+
// use in case applicantReviewed event comes without reviewResult.reviewAnswer
|
|
2178
|
+
"Rejected", "Retry"];
|
|
2179
|
+
var KybResult = z["enum"](KYB_RESULTS);
|
|
2180
|
+
var KYB_SESSION_STATUSES = ["NotStarted", "Started", "Closed"];
|
|
2181
|
+
var KybSessionStatus = z["enum"](KYB_SESSION_STATUSES);
|
|
2182
|
+
// TODO: @MrRaccxxn - This types now will be duplicated in sub steps workflow
|
|
2183
|
+
|
|
2184
|
+
var COMPANY_ID_DOC_SUBTYPES = ["INCORPORATION_CERT", "INCORPORATION_ARTICLES", "SHAREHOLDER_REGISTRY"];
|
|
2185
|
+
var CompanyIdDocSubType = z["enum"](COMPANY_ID_DOC_SUBTYPES);
|
|
2186
|
+
var CompanyDocumentMetaData = z.object({
|
|
2187
|
+
sumsubImageId: z.number(),
|
|
2188
|
+
mediaType: z["enum"](["image/jpeg", "image/jpg", "image/png"]),
|
|
2189
|
+
journeyId: z.string(),
|
|
2190
|
+
documentType: CompanyIdDocSubType,
|
|
2191
|
+
name: z.string().optional(),
|
|
2192
|
+
entryDate: z.number()["int"](),
|
|
2193
|
+
entryTime: z.string(),
|
|
2194
|
+
isSandbox: z["boolean"]()
|
|
2195
|
+
});
|
|
2196
|
+
var BeneficiaryVerificationStatus = z.object({
|
|
2197
|
+
name: z.string(),
|
|
2198
|
+
customerId: z.string().uuid(),
|
|
2199
|
+
applicantId: z.string(),
|
|
2200
|
+
externalUserId: z.string(),
|
|
2201
|
+
levelName: z.string(),
|
|
2202
|
+
calculatedResult: KybResult.nullish(),
|
|
2203
|
+
reviewAnswer: SumSubReviewAnswer.nullish(),
|
|
2204
|
+
reviewRejectType: SumSubReviewRejectType.nullish(),
|
|
2205
|
+
type: BeneficiaryType.nullish()
|
|
2206
|
+
});
|
|
2207
|
+
var BeneficiaryVerificationStatusArray = z.array(BeneficiaryVerificationStatus);
|
|
2208
|
+
var SelectKybSession = z.object({
|
|
2209
|
+
id: UuidString,
|
|
2210
|
+
customerId: UuidString,
|
|
2211
|
+
address: BlockchainAddress.nullish(),
|
|
2212
|
+
cmsProjectId: z.string(),
|
|
2213
|
+
result: KybResult.nullish(),
|
|
2214
|
+
reviewAnswer: SumSubReviewAnswer.nullish(),
|
|
2215
|
+
reviewRejectType: SumSubReviewRejectType.nullish(),
|
|
2216
|
+
sandboxMode: z.coerce["boolean"]().nullish(),
|
|
2217
|
+
status: KybSessionStatus.nullish(),
|
|
2218
|
+
ip: z.string().nullish(),
|
|
2219
|
+
sandboxSimulated: z.coerce["boolean"]().nullish(),
|
|
2220
|
+
beneficiaries: BeneficiaryVerificationStatusArray.nullish(),
|
|
2221
|
+
createdAt: z.coerce.date(),
|
|
2222
|
+
updatedAt: z.coerce.date()
|
|
2223
|
+
// notificationEmail: z.string().nullish(),
|
|
2224
|
+
// scenarioExecutions: SdkVerificationOutput.nullish(),
|
|
2225
|
+
});
|
|
2226
|
+
var GetKybSessionInput = z.object({
|
|
2227
|
+
projectId: z.string()
|
|
2228
|
+
});
|
|
2229
|
+
// export const GetKybSessionResponse = SelectKybSession.extend({
|
|
2230
|
+
// sumSubReviewResult: z
|
|
2231
|
+
// .object({
|
|
2232
|
+
// [SumSubStep.enum.IDENTITY]: z.array(SumSubReviewRejectLabel),
|
|
2233
|
+
// [SumSubStep.enum.SELFIE]: z.array(SumSubReviewRejectLabel),
|
|
2234
|
+
// })
|
|
2235
|
+
// .nullish(),
|
|
2236
|
+
// });
|
|
2237
|
+
var GetKybSessionResponse = SelectKybSession;
|
|
2238
|
+
var UpdateKybSessionOutput = z.string();
|
|
2239
|
+
|
|
2240
|
+
var CustomerDocumentMetaData = z.union([CompanyDocumentMetaData, ProofOfResidenceMetaData, VideoKycMetaData]);
|
|
2241
|
+
var CustomerStatusResults = z.union([KybResult, KycResult]);
|
|
2242
|
+
|
|
2243
|
+
var ChainalysisRequest = z.object({
|
|
2244
|
+
address: z.string()
|
|
2245
|
+
});
|
|
2246
|
+
var EnhancedChainalysisRequest = z.object({
|
|
2247
|
+
request: ChainalysisRequest,
|
|
2248
|
+
customerId: UuidString
|
|
2249
|
+
});
|
|
2250
|
+
var ChainalysisRegisterApiResponse = z.object({
|
|
2251
|
+
address: z.string()
|
|
2252
|
+
});
|
|
2253
|
+
var Risk = z["enum"](["Severe", "High", "Medium", "Low"]);
|
|
2254
|
+
var AddressType = z["enum"](["PRIVATE_WALLET", "LIQUIDITY_POOL", "SERVICE_PROVIDER"]);
|
|
2255
|
+
var ExposureType = z["enum"](["direct", "indirect"]);
|
|
2256
|
+
var Direction = z.literal("both_directions");
|
|
2257
|
+
var Status = z.literal("COMPLETE");
|
|
2258
|
+
var Cluster = z.object({
|
|
2259
|
+
name: z.string(),
|
|
2260
|
+
category: z.string()
|
|
2261
|
+
});
|
|
2262
|
+
var AddressIdentification = z.object({
|
|
2263
|
+
name: z.string(),
|
|
2264
|
+
address: z.string(),
|
|
2265
|
+
category: z.string(),
|
|
2266
|
+
description: z.string(),
|
|
2267
|
+
url: z.string().nullish(),
|
|
2268
|
+
createdAt: z.number()
|
|
2269
|
+
});
|
|
2270
|
+
var Exposure = z.object({
|
|
2271
|
+
category: z.string(),
|
|
2272
|
+
value: z.number(),
|
|
2273
|
+
exposureType: ExposureType,
|
|
2274
|
+
direction: Direction
|
|
2275
|
+
});
|
|
2276
|
+
var RuleTriggered = z.object({
|
|
2277
|
+
risk: z.string(),
|
|
2278
|
+
minThreshold: z.number(),
|
|
2279
|
+
maxThreshold: z.number(),
|
|
2280
|
+
exposureType: ExposureType,
|
|
2281
|
+
direction: Direction
|
|
2282
|
+
});
|
|
2283
|
+
var Trigger = z.object({
|
|
2284
|
+
category: z.string(),
|
|
2285
|
+
percentage: z.number(),
|
|
2286
|
+
message: z.string(),
|
|
2287
|
+
ruleTriggered: RuleTriggered.nullish()
|
|
2288
|
+
});
|
|
2289
|
+
var PoolMetadata = z.object({
|
|
2290
|
+
fees: z.number().nullish(),
|
|
2291
|
+
tokens: z.array(z.string())
|
|
2292
|
+
});
|
|
2293
|
+
var ChainalysisRiskAssessmentApiResponse = z.object({
|
|
2294
|
+
address: z.string(),
|
|
2295
|
+
risk: Risk,
|
|
2296
|
+
riskReason: z.string().nullish(),
|
|
2297
|
+
cluster: Cluster.nullish(),
|
|
2298
|
+
addressType: AddressType,
|
|
2299
|
+
addressIdentifications: z.array(AddressIdentification),
|
|
2300
|
+
exposures: z.array(Exposure).nullish(),
|
|
2301
|
+
triggers: z.array(Trigger).nullish(),
|
|
2302
|
+
status: Status,
|
|
2303
|
+
poolMetadata: PoolMetadata.nullish()
|
|
2304
|
+
});
|
|
2305
|
+
var ChainalysisApiError = z.object({
|
|
2306
|
+
error: z.object({
|
|
2307
|
+
error: z.string(),
|
|
2308
|
+
message: z.string(),
|
|
2309
|
+
data: z.string().nullish()
|
|
2310
|
+
})
|
|
2311
|
+
});
|
|
2312
|
+
var ChainalysisRegisterResponse = z.union([ChainalysisRegisterApiResponse, ChainalysisApiError]);
|
|
2313
|
+
var ChainalysisRiskAssessmentResponse = z.union([ChainalysisRiskAssessmentApiResponse, ChainalysisApiError]);
|
|
2314
|
+
var ChainalysisResponse = z.union([ChainalysisRegisterResponse, ChainalysisRiskAssessmentResponse]);
|
|
2315
|
+
|
|
2316
|
+
export { EmailMetadata as $, ANALYSIS_TYPES as A, BitRankVerifiedResponse as B, ComplyAdvantageSearchResponse as C, Session as D, EmailVerificationAnalysisResponse as E, SessionWithoutSteps as F, StepTypes as G, StepType as H, IpQualityServiceAnalysisResponse as I, ReasonCodes as J, ReasonCode as K, File as L, MergedProviders as M, NestedSession as N, OBJECT_TYPES as O, PhoneVerificationAnalysisResponse as P, DocumentIdTypes as Q, RiskSeverity as R, ScoringAnalysisResponse as S, DocumentIdType as T, DocumentIdMetadata as U, ProofOfAddressDocumentTypes as V, WorkflowsScoringAnalysisRequest as W, ProofOfAddressDocumentType as X, ProofOfAddressMetadata as Y, LivenessMetadata as Z, PhoneMetadata as _, MerkleAddressResponse as a, ComplyAdvantageUpdateSearchEntitiesSuccessResponse as a$, AMLMetadata as a0, Step as a1, SynapsSessionEvent as a2, SynapsStepEvent as a3, typeToHumanReadable as a4, SynapsSessionRequest as a5, SESSION_NOT_FOUND as a6, UNKNOWN_ERROR as a7, RESULT_PARSER_ERROR as a8, SynapsSessionErrorResponse as a9, COMPLY_ADVANTAGE_COUNTRY_FIELD_SOURCES as aA, ComplyAdvantageCountryFieldSources as aB, COMPLY_ADVANTAGE_DATE_OF_BIRTH_FIELD_SOURCES as aC, ComplyAdvantageDateOfBirthFieldSources as aD, CreateSearchInput as aE, MatchStatuses as aF, MatchStatus as aG, RiskLevels as aH, RiskLevel as aI, UpdateSearchInput as aJ, UpdateSearchEntitiesInput as aK, ComplyAdvantageUser as aL, MatchTypeDetail as aM, ComplyAdvantageMedia as aN, ComplyAdvantageSearchDataResponseHit as aO, ComplyAdvantageSearchDataResponse as aP, ComplyAdvantageSearchSuccessResponse as aQ, ComplyAdvantageSearchErrorResponse as aR, ComplyAdvantageKeyInformation as aS, ComplyAdvantageAmlItemSource as aT, ComplyAdvantageAmlFullListing as aU, ComplyAdvantageSearchEntitiesDataResponse as aV, ComplyAdvantageSearchEntitiesSuccessResponse as aW, ComplyAdvantageSearchEntitiesResponse as aX, ComplyAdvantageSearchRequest as aY, ComplyAdvantageUpdateSearchRequest as aZ, ComplyAdvantageUpdateSearchEntitiesRequest as a_, SynapsSessionResponse as aa, SynapsStepRequest as ab, STEP_NOT_FOUND as ac, SynapsStepErrorResponse as ad, SynapsStepResponse as ae, CoerceDateUTC as af, SEARCH_FILTER_SANCTION_TYPE as ag, SearchFilterSanctionType as ah, SEARCH_FILTER_PEP_TYPE as ai, SearchFilterPepType as aj, SEARCH_FILTER_ADVERSE_MEDIA_TYPE as ak, SearchFilterAdverseMediaType as al, HIGH_RISK_TYPES as am, MEDIUM_RISK_TYPES as an, COMPLY_ADVANTAGE_RESPONSE_MATCH_TYPE as ao, ComplyAdvantageResponseMatchType as ap, mappingMatchTypeToLabel as aq, COMPLY_ADVANTAGE_RESPONSE_MATCH_STATUS as ar, ComplyAdvantageReponseMatchStatus as as, SEARCH_FILTER_TYPES as at, SearchFilterType as au, SearchEntityTypes as av, SearchEntityType as aw, SearchFilters as ax, COMPLY_ADVANTAGE_NATIONALITY_FIELD_SOURCES as ay, ComplyAdvantageNationalityFieldSources as az, AnalysisType as b, SUMSUB_REVIEW_STATUSES as b$, ComplyAdvantageUpdateSearchEntitiesResponse as b0, ComplyAdvantageMonitorSearchDataResponse as b1, ComplyAdvantageMonitorSearchSuccessResponse as b2, ComplyAdvantageMonitorSearchResponse as b3, ComplyAdvantageMonitoredSearchUpdate as b4, IdentityProviderOptions as b5, IdentityProviders as b6, DataProviderOptions as b7, DataProviders as b8, MerkleScienceConfig as b9, ToggleProviderInput as bA, DeleteProviderInput as bB, DeleteProviderResponse as bC, WEBHOOK_TYPES as bD, WebhookType as bE, ApplicantMemberOfSchema as bF, SumSubWebhookSchema as bG, BaseApplicantActionSchema as bH, SUMSUB_STEPS as bI, SumSubStep as bJ, SUMSUB_APPLICANT_TYPES as bK, SumSubApplicantType as bL, SUMSUB_REVIEW_ANSWERS as bM, SumSubReviewAnswer as bN, SUMSUB_REVIEW_REJECT_TYPES as bO, SumSubReviewRejectType as bP, SumSubAddress as bQ, SumSubApplicantInfo as bR, INDIVIDUAL_BENEFICIARY_RELATIONS as bS, IndividualBeneficiaryRelation as bT, BENEFICIARY_TYPES as bU, BeneficiaryType as bV, BeneficiaryCompanyCustomerClaims as bW, BeneficiaryCompanyCustomerClaimsArray as bX, SumSubCompanyApplicantInfo as bY, SUMSUB_WEBHOOK_INTERNAL_STATUS as bZ, SumsubWebhookInternalStatus as b_, ScorechainConfig as ba, WorkflowsScorechainConfig as bb, IpQualityConfig as bc, BigConfig as bd, ProviderIntegrationTypeOptions as be, ProviderIntegrationType as bf, BaseProvider as bg, NexeraIdSSIDProvider as bh, NexeraIdKYBProvider as bi, BigProvider as bj, ScorechainProvider as bk, MerkleScienceProvider as bl, IpqualityscoreProvider as bm, ComplyAdvantageProviderConfigTypes as bn, ComplyAdvantageProviderConfigFilters as bo, ComplyAdvantageProviderConfigElement as bp, ComplyAdvantageProvider as bq, SynapsProvider as br, ProviderData as bs, ProviderDataProject as bt, GetProvidersResponse as bu, GetProviderResponse as bv, CreateProviderInput as bw, CreateProviderResponse as bx, UpdateProviderInput as by, UpdateProviderResponse as bz, ObjectType as c, SelectKybSession as c$, SumSubReviewStatus as c0, SUMSUB_DOC_TYPES as c1, SumSubDocType as c2, SUMSUB_FLOW_LEVEL as c3, SumSubFlowLevel as c4, SumSubReviewResultSchema as c5, SumSubImageReviewResultSchema as c6, SumsubApplicantTypes as c7, SumsubApplicantType as c8, SumSubIndividualApplicantSchema as c9, KYC_STEP_TYPES as cA, KycStep as cB, KYC_RESULTS as cC, KycResult as cD, KYC_SESSION_STATUSES as cE, KycSessionStatus as cF, SelectKycSession as cG, SelectKycSessionStep as cH, GetKycSessionInput as cI, GetKycSessionResponse as cJ, UpdateKycSessionOutput as cK, VideoKycMetaData as cL, ProofOfResidenceMetaData as cM, ProofOfResidenceDocumentType as cN, GetCredentialsOutput as cO, CustomerContactInformationOutput as cP, CredentialMetadata as cQ, GetKycSessionResponseWithCredentialsMetadata as cR, KYB_STEP_TYPES as cS, KybStep as cT, KYB_RESULTS as cU, KybResult as cV, KYB_SESSION_STATUSES as cW, KybSessionStatus as cX, CompanyDocumentMetaData as cY, BeneficiaryVerificationStatus as cZ, BeneficiaryVerificationStatusArray as c_, SumSubCompanyApplicantSchema as ca, SumSubImageId as cb, SUMSUB_COMPANY_BENEFICIARY_GROUP as cc, SumsubCompanyBeneficiaryGroup as cd, SumsubStepStatus as ce, SumSubVerificationStepSchema as cf, SumSubApplicantVerificationStepSchema as cg, SumSubApplicantModerationStatusSchema as ch, SUMSUB_MEDIA_CONTENT_TYPES as ci, SumSubMediaContentType as cj, DocumentMetadataSchema as ck, SumSubApplicantReviewStatusSchema as cl, SumSubApplicantResetSchema as cm, SumSubGenerateExternalWebSdkLinkSchema as cn, SumsubVideoCallData as co, SumsubKycDataSchema as cp, SumsubKybDataSchema as cq, SumSubApplicantSchema as cr, SUMSUB_KYB_SESSION_FLOW_SECTION_STATUS as cs, SumsubKybSessionFlowSectionStatus as ct, SumsubKybSessionFlowSectionItem as cu, SumsubKybSessionFlowSection as cv, SumSubSimilarApplicantsSchema as cw, SUMSUB_REVIEW_REJECT_LABELS as cx, SumSubReviewRejectLabel as cy, SUMSUB_REVIEW_REJECT_LABELS_DESCRIPTION as cz, BLOCKCHAIN_TYPES as d, GetKybSessionInput as d0, GetKybSessionResponse as d1, UpdateKybSessionOutput as d2, CustomerDocumentMetaData as d3, CustomerStatusResults as d4, MerkleBlockChainTypes as d5, MerkleBlockChainNames as d6, MerkleBlockChainCodes as d7, MerkleAddressRequest as d8, MerkleAddressApiResponse as d9, MerkleAddressApiError as da, ChainalysisRequest as db, EnhancedChainalysisRequest as dc, ChainalysisRegisterApiResponse as dd, ChainalysisRiskAssessmentApiResponse as de, ChainalysisApiError as df, ChainalysisRegisterResponse as dg, ChainalysisRiskAssessmentResponse as dh, ChainalysisResponse as di, Blockchain as e, Coin as f, ScorechainErrorResponse as g, ScorechainError as h, ScorechainAnalysis as i, ScoringAnalysisRequest as j, IpQualityAnalysisRequest as k, IpQualityAnalysisResponse as l, IpQualityServiceAnalysis as m, IpQualityServiceErrorResponse as n, BigCryptoChain as o, BigPropertiesLiteral as p, BigProperties as q, BigProperty as r, RequestProperty as s, BitRankRequest as t, BitRankVerified as u, BitRankVerifiedErrorResponse as v, BitRankVerifiedError as w, Statuses as x, Status$1 as y, WebhookPayload as z };
|