@dossier-wiki/os-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/service.d.ts +388 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +903 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +1556 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/docs/REFERENCE.md +195 -0
- package/package.json +43 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,1556 @@
|
|
|
1
|
+
export interface Paginated<T> {
|
|
2
|
+
data: T[];
|
|
3
|
+
pagination: PaginationMeta;
|
|
4
|
+
}
|
|
5
|
+
export interface AccountResponseDto {
|
|
6
|
+
id: string;
|
|
7
|
+
externalId?: string;
|
|
8
|
+
customerId: string;
|
|
9
|
+
productId?: string;
|
|
10
|
+
label: string;
|
|
11
|
+
accountCategory: 'DEPOSIT' | 'CREDIT' | 'LOAN' | 'WALLET' | 'SECURITIES' | 'OTHER';
|
|
12
|
+
accountType: 'CHECKING' | 'SAVINGS' | 'OPERATING' | 'TRUST' | 'INVESTMENT' | 'ESCROW' | 'CREDIT_CARD' | 'LINE_OF_CREDIT' | 'PERSONAL_LOAN' | 'MORTGAGE' | 'AUTO_LOAN' | 'BUSINESS_LOAN' | 'CRYPTO_WALLET' | 'MOBILE_WALLET' | 'PREPAID_CARD' | 'E_WALLET' | 'BROKERAGE' | 'FUND' | 'OTHER';
|
|
13
|
+
status: 'ACTIVE' | 'FROZEN' | 'CLOSED' | 'DORMANT';
|
|
14
|
+
currency?: string;
|
|
15
|
+
bankName?: string;
|
|
16
|
+
bankSwift?: string;
|
|
17
|
+
iban?: string;
|
|
18
|
+
accountNumber?: string;
|
|
19
|
+
customProperties?: Record<string, unknown>;
|
|
20
|
+
openedAt: string;
|
|
21
|
+
closedAt?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AddFaceImageDto {
|
|
24
|
+
/** URL to fetch and import. */
|
|
25
|
+
fileUrl: string;
|
|
26
|
+
note?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface AddIdentificationDocumentDto {
|
|
29
|
+
type: string;
|
|
30
|
+
number: string;
|
|
31
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
32
|
+
country: string;
|
|
33
|
+
expiryDate?: string;
|
|
34
|
+
dateOfIssue?: string;
|
|
35
|
+
notes?: string;
|
|
36
|
+
attachments?: AttachmentDto[];
|
|
37
|
+
}
|
|
38
|
+
export interface AddressDto {
|
|
39
|
+
line1: string;
|
|
40
|
+
line2?: string;
|
|
41
|
+
city: string;
|
|
42
|
+
state?: string;
|
|
43
|
+
postalCode: string;
|
|
44
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
45
|
+
country: string;
|
|
46
|
+
}
|
|
47
|
+
export interface AlternateNameDto {
|
|
48
|
+
name: string;
|
|
49
|
+
type: 'TRADING' | 'DBA' | 'FORMER' | 'LOCAL' | 'TRANSLITERATED';
|
|
50
|
+
}
|
|
51
|
+
export interface AtmDetailsDto {
|
|
52
|
+
/** ATM terminal identifier. Pairs with operator for tier-2 ATM_TERMINAL key. */
|
|
53
|
+
terminalId?: string;
|
|
54
|
+
/** Operating institution name. */
|
|
55
|
+
operator?: string;
|
|
56
|
+
/** Free-form location label. */
|
|
57
|
+
locationDescription?: string;
|
|
58
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
59
|
+
country?: string;
|
|
60
|
+
/** Physical ATM address (when known). */
|
|
61
|
+
address?: PaymentLocationAddressDto;
|
|
62
|
+
/** Lat/lng of the ATM. */
|
|
63
|
+
coordinates?: PaymentLocationCoordinatesDto;
|
|
64
|
+
/** MCC 6011 typical for ATMs. */
|
|
65
|
+
merchantCategoryCode?: string;
|
|
66
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). Useful when terminalId+operator are unavailable. */
|
|
67
|
+
externalReference?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface AttachmentDto {
|
|
70
|
+
/** URL to fetch and import into the tenant's storage. */
|
|
71
|
+
fileUrl: string;
|
|
72
|
+
/** Label like "Front", "Back", "Selfie holding ID" */
|
|
73
|
+
note?: string;
|
|
74
|
+
}
|
|
75
|
+
export interface BankAccountDetailsDto {
|
|
76
|
+
/** IBAN (tier-1 key when present). */
|
|
77
|
+
iban?: string;
|
|
78
|
+
/** SWIFT / BIC code of the holding bank. */
|
|
79
|
+
bankSwift?: string;
|
|
80
|
+
/** US ABA routing number. */
|
|
81
|
+
routingNumber?: string;
|
|
82
|
+
/** National sort code (UK / IE / similar). */
|
|
83
|
+
sortCode?: string;
|
|
84
|
+
/** Generic bank code (non-routing/non-SWIFT, e.g. local domestic clearing code). */
|
|
85
|
+
bankCode?: string;
|
|
86
|
+
/** Account number — paired with bankSwift / routingNumber / bankCode for tier-2 keys. */
|
|
87
|
+
accountNumber?: string;
|
|
88
|
+
/** Bank name (display only — not used as a resolution key). */
|
|
89
|
+
bankName?: string;
|
|
90
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). Universal escape hatch when standardised keys (IBAN/SWIFT/etc.) are unavailable. */
|
|
91
|
+
externalReference?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface CashDetailsDto {
|
|
94
|
+
/** Free-form location description (branch name, city, etc.). */
|
|
95
|
+
locationDescription?: string;
|
|
96
|
+
/** Branch / depot / agent identifier. */
|
|
97
|
+
locationId?: string;
|
|
98
|
+
/** Physical address of the cash-handling location (when known). */
|
|
99
|
+
address?: PaymentLocationAddressDto;
|
|
100
|
+
/** Lat/lng of the cash-handling location. */
|
|
101
|
+
coordinates?: PaymentLocationCoordinatesDto;
|
|
102
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). For cash, this is the only resolution key — without it the rail is unresolvable. */
|
|
103
|
+
externalReference?: string;
|
|
104
|
+
}
|
|
105
|
+
export interface ChannelDto {
|
|
106
|
+
/** Channel type (WEB, MOBILE_APP, BRANCH, ATM, POS, API). */
|
|
107
|
+
type: string;
|
|
108
|
+
/** Session identifier. */
|
|
109
|
+
sessionId?: string;
|
|
110
|
+
/** Embedded session events (auth, copy-paste, form-fill, etc.). */
|
|
111
|
+
events?: ChannelEventDto[];
|
|
112
|
+
}
|
|
113
|
+
export interface ChannelEventDto {
|
|
114
|
+
/** Event type (e.g. session.auth, session.copy_paste). */
|
|
115
|
+
type: string;
|
|
116
|
+
/** When the event occurred. */
|
|
117
|
+
timestamp: string;
|
|
118
|
+
/** Event payload data. */
|
|
119
|
+
data?: Record<string, unknown>;
|
|
120
|
+
}
|
|
121
|
+
export interface CheckDetailsDto {
|
|
122
|
+
/** Drawee bank name as printed on the check face. Pairs with accountNumber for the tier-2 CHECK_ACCOUNT key. */
|
|
123
|
+
issuingBank?: string;
|
|
124
|
+
/** Drawee bank SWIFT/BIC. Pairs with accountNumber for tier-2 CHECK_SWIFT_ACCOUNT. */
|
|
125
|
+
issuingBankSwift?: string;
|
|
126
|
+
/** Drawee bank national clearing code (US ABA, IN IFSC, GB SortCode, …). Pairs with accountNumber for tier-2 CHECK_BANK_CODE_ACCOUNT. */
|
|
127
|
+
issuingBankCode?: string;
|
|
128
|
+
/** Drawer's account number on the check. */
|
|
129
|
+
accountNumber?: string;
|
|
130
|
+
/** Drawer's IBAN, when account is IBAN-eligible. Tier-1 CHECK_IBAN key. */
|
|
131
|
+
iban?: string;
|
|
132
|
+
/** Printed drawer name (typically matches counterparty.name). */
|
|
133
|
+
drawerName?: string;
|
|
134
|
+
/** Printed drawer address. */
|
|
135
|
+
drawerAddress?: PaymentLocationAddressDto;
|
|
136
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). */
|
|
137
|
+
externalReference?: string;
|
|
138
|
+
}
|
|
139
|
+
export interface ConfirmUploadDto {
|
|
140
|
+
/** File key returned from upload-url */
|
|
141
|
+
fileKey: string;
|
|
142
|
+
/** Original file name */
|
|
143
|
+
fileName: string;
|
|
144
|
+
/** Optional label or category */
|
|
145
|
+
label?: string;
|
|
146
|
+
}
|
|
147
|
+
export interface ContactDetailsDto {
|
|
148
|
+
namePrefix?: 'DOCT' | 'MIST' | 'MISS' | 'MADM' | 'MIIS';
|
|
149
|
+
name?: string;
|
|
150
|
+
/** E.164 format. */
|
|
151
|
+
phoneNumber?: string;
|
|
152
|
+
mobileNumber?: string;
|
|
153
|
+
faxNumber?: string;
|
|
154
|
+
emailAddress?: string;
|
|
155
|
+
emailPurpose?: string;
|
|
156
|
+
jobTitle?: string;
|
|
157
|
+
responsibility?: string;
|
|
158
|
+
department?: string;
|
|
159
|
+
preferredMethod?: 'LETT' | 'MAIL' | 'PHON' | 'FAXX' | 'CELL';
|
|
160
|
+
}
|
|
161
|
+
export interface CounterpartyInlineDto {
|
|
162
|
+
/** Caller-supplied stable identifier. When provided, used as the primary lookup key and stored as the counterparty externalId on create (spec ingestion/03 §3, §7). */
|
|
163
|
+
externalId?: string;
|
|
164
|
+
/** Counterparty name. */
|
|
165
|
+
name?: string;
|
|
166
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
167
|
+
country?: string;
|
|
168
|
+
/** Party type. */
|
|
169
|
+
type?: 'INDIVIDUAL' | 'ORGANIZATION' | 'UNKNOWN';
|
|
170
|
+
/** Country-scoped tax identifier (tier-1 key). Requires `country` to be set. Legacy single-value form — prefer `taxIdentifications[]` for new integrations. */
|
|
171
|
+
taxId?: string;
|
|
172
|
+
/** Payment instrument details. Use the discriminator `type` to select the subtype block; populate ONLY that block (e.g. type=CRYPTO_WALLET → cryptoWallet). Use type=OTHER + customFields for unmodelled rails. */
|
|
173
|
+
paymentDetails?: PaymentDetailsDto;
|
|
174
|
+
/** Tax identifications (ISO 20022 TaxParty). Source for TAX_ID tier-1 keys. Multiple entries allowed (different countries / types). */
|
|
175
|
+
taxIdentifications?: TaxIdentificationDto[];
|
|
176
|
+
/** Alternate names — DBA, trading names, former names, transliterations. Used for sanctions name-screening. */
|
|
177
|
+
alternateNames?: AlternateNameDto[];
|
|
178
|
+
/** Structured postal addresses (ISO 20022 PostalAddress27). Each entry carries a `type` discriminator (HOME / BIZZ / MLTO / DLVY / PBOX / ADDR). CBPR+ mandates structured addresses for cross-border wires from Nov 2025. */
|
|
179
|
+
postalAddresses?: PostalAddressDto[];
|
|
180
|
+
/** Contact details (ISO 20022 ContactDetails2). */
|
|
181
|
+
contactDetails?: ContactDetailsDto;
|
|
182
|
+
/** Individual-specific attributes (ISO 20022 PrvtId). Allowed only when `type=INDIVIDUAL`. Mutually exclusive with `entityDetails`. */
|
|
183
|
+
individualDetails?: IndividualDetailsDto;
|
|
184
|
+
/** Entity-specific attributes (ISO 20022 OrgId). Allowed only when `type=ORGANIZATION`. Mutually exclusive with `individualDetails`. Carries `lei` — source for LEI tier-1 keys. */
|
|
185
|
+
entityDetails?: EntityDetailsDto;
|
|
186
|
+
}
|
|
187
|
+
export interface CounterpartyInternalDto {
|
|
188
|
+
/** Customer identifier of the other party. Internal UUID or `ext:`-prefixed external ID. */
|
|
189
|
+
customerId: string;
|
|
190
|
+
/** Account identifier of the other party. Internal UUID or `ext:`-prefixed external ID. */
|
|
191
|
+
accountId: string;
|
|
192
|
+
}
|
|
193
|
+
export interface CounterpartyPayloadDto {
|
|
194
|
+
/** Counterparty reference. Internal UUID or `ext:`-prefixed external ID. Bypasses key-based resolution. */
|
|
195
|
+
counterpartyId?: string;
|
|
196
|
+
/** Internal counterparty — the other party is also a customer. Triggers dual-perspective evaluation. */
|
|
197
|
+
internal?: CounterpartyInternalDto;
|
|
198
|
+
/** Inline counterparty details for create-on-miss resolution. */
|
|
199
|
+
inline?: CounterpartyInlineDto;
|
|
200
|
+
}
|
|
201
|
+
export interface CounterpartyResponseDto {
|
|
202
|
+
id: string;
|
|
203
|
+
externalId?: string;
|
|
204
|
+
name: string;
|
|
205
|
+
description?: string;
|
|
206
|
+
identity: 'INDIVIDUAL' | 'ENTITY' | 'UNKNOWN';
|
|
207
|
+
classification: 'BANK_ACCOUNT' | 'WALLET' | 'MERCHANT' | 'FINANCIAL_INSTITUTION' | 'PAYMENT_NETWORK' | 'UNKNOWN';
|
|
208
|
+
country?: string;
|
|
209
|
+
riskLevel: 'HIGH' | 'MEDIUM' | 'LOW' | 'UNRATED';
|
|
210
|
+
source: 'MANUAL' | 'SYSTEM';
|
|
211
|
+
linkedCustomerIds: string[];
|
|
212
|
+
/** ID of the transaction that first created this counterparty */
|
|
213
|
+
originatingTransactionId?: string;
|
|
214
|
+
bankAccount?: BankAccountDetailsDto;
|
|
215
|
+
wallet?: CryptoWalletDetailsDto;
|
|
216
|
+
merchant?: MerchantDetailsDto;
|
|
217
|
+
institution?: InstitutionDetailsDto;
|
|
218
|
+
firstTransactionAt?: string;
|
|
219
|
+
lastTransactionAt?: string;
|
|
220
|
+
createdAt: string;
|
|
221
|
+
updatedAt: string;
|
|
222
|
+
}
|
|
223
|
+
export interface CreateAccountDto {
|
|
224
|
+
/** Your external identifier */
|
|
225
|
+
externalId?: string;
|
|
226
|
+
/** Product ID this account is based on */
|
|
227
|
+
productId?: string;
|
|
228
|
+
label: string;
|
|
229
|
+
accountCategory: 'DEPOSIT' | 'CREDIT' | 'LOAN' | 'WALLET' | 'SECURITIES' | 'OTHER';
|
|
230
|
+
accountType: 'CHECKING' | 'SAVINGS' | 'OPERATING' | 'TRUST' | 'INVESTMENT' | 'ESCROW' | 'CREDIT_CARD' | 'LINE_OF_CREDIT' | 'PERSONAL_LOAN' | 'MORTGAGE' | 'AUTO_LOAN' | 'BUSINESS_LOAN' | 'CRYPTO_WALLET' | 'MOBILE_WALLET' | 'PREPAID_CARD' | 'E_WALLET' | 'BROKERAGE' | 'FUND' | 'OTHER';
|
|
231
|
+
/** Currency code (ISO 4217) */
|
|
232
|
+
currency?: string;
|
|
233
|
+
bankName?: string;
|
|
234
|
+
bankSwift?: string;
|
|
235
|
+
iban?: string;
|
|
236
|
+
accountNumber?: string;
|
|
237
|
+
/** Arbitrary key-value properties */
|
|
238
|
+
customProperties?: Record<string, unknown>;
|
|
239
|
+
/** Override account opening timestamp (ISO 8601). Used by data-loading tools to backfill historical accounts. */
|
|
240
|
+
openedAt?: string;
|
|
241
|
+
}
|
|
242
|
+
export interface CreateApiKeyDto {
|
|
243
|
+
/** Human-readable label for this API key */
|
|
244
|
+
label: string;
|
|
245
|
+
/** Access scope */
|
|
246
|
+
scope: 'full_access' | 'evaluate_only';
|
|
247
|
+
/** Expiration in seconds (default: 1 year) */
|
|
248
|
+
expiresInSeconds?: number;
|
|
249
|
+
/** Organization ID to scope this key to (defaults to active org) */
|
|
250
|
+
organizationId?: string;
|
|
251
|
+
}
|
|
252
|
+
export interface CreateConstantDto {
|
|
253
|
+
/** Constant name (e.g. $global.highRiskCountries). */
|
|
254
|
+
name: string;
|
|
255
|
+
/** Scope (derived from name if omitted). */
|
|
256
|
+
scope?: 'global' | 'product' | 'customer' | 'account' | 'counterparty' | 'instrument' | 'device';
|
|
257
|
+
/** Constant type. Determines the required shape of `value`. */
|
|
258
|
+
type: 'scalar' | 'monetary' | 'set' | 'range' | 'text' | 'number' | 'boolean' | 'date' | 'currency';
|
|
259
|
+
/** Payload shape depends on the constant's `type`. Pick the matching variant below. Validated at write time. */
|
|
260
|
+
value: {
|
|
261
|
+
/** e.g. `"1000000@FIAT:USD"` = $10,000.00. Precision implied by currency: USD=2, JPY=0, BTC=8, ETH=9, USDT/USDC=6. */
|
|
262
|
+
value: string;
|
|
263
|
+
} | {
|
|
264
|
+
values: string[];
|
|
265
|
+
} | {
|
|
266
|
+
min: unknown;
|
|
267
|
+
max: unknown;
|
|
268
|
+
} | {
|
|
269
|
+
value: unknown;
|
|
270
|
+
};
|
|
271
|
+
/** Human-readable description. */
|
|
272
|
+
description?: string;
|
|
273
|
+
/** Sync key for config-as-code management. */
|
|
274
|
+
syncKey?: string;
|
|
275
|
+
}
|
|
276
|
+
export interface CreateCounterpartyDto {
|
|
277
|
+
externalId?: string;
|
|
278
|
+
name: string;
|
|
279
|
+
description?: string;
|
|
280
|
+
identity: 'INDIVIDUAL' | 'ENTITY' | 'UNKNOWN';
|
|
281
|
+
classification: 'BANK_ACCOUNT' | 'WALLET' | 'MERCHANT' | 'FINANCIAL_INSTITUTION' | 'PAYMENT_NETWORK' | 'UNKNOWN';
|
|
282
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
283
|
+
country?: string;
|
|
284
|
+
bankAccount?: BankAccountDetailsDto;
|
|
285
|
+
wallet?: CryptoWalletDetailsDto;
|
|
286
|
+
merchant?: MerchantDetailsDto;
|
|
287
|
+
institution?: InstitutionDetailsDto;
|
|
288
|
+
}
|
|
289
|
+
/** OpenAPI schema is empty; treated as an opaque key/value bag — narrow on the caller side. */
|
|
290
|
+
export type CreateCurrencyInput = Record<string, unknown>;
|
|
291
|
+
export interface CreateEntityDto {
|
|
292
|
+
/** Your external identifier for this entity. Must be unique within the organization. */
|
|
293
|
+
externalId: string;
|
|
294
|
+
legalName: string;
|
|
295
|
+
tradingNames?: string[];
|
|
296
|
+
registrationNumber?: string;
|
|
297
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
298
|
+
countryOfIncorporation?: string;
|
|
299
|
+
dateOfIncorporation?: string;
|
|
300
|
+
entityType?: string;
|
|
301
|
+
/** Parent entity ID for subsidiaries */
|
|
302
|
+
parentEntityId?: string;
|
|
303
|
+
email?: string;
|
|
304
|
+
phone?: string;
|
|
305
|
+
addresses?: AddressDto[];
|
|
306
|
+
/** Override creation timestamp (ISO 8601). Used by data-loading tools to backfill historical entities. */
|
|
307
|
+
createdAt?: string;
|
|
308
|
+
}
|
|
309
|
+
export interface CreateEventDefinitionDto {
|
|
310
|
+
/** Unique event name (used as key). */
|
|
311
|
+
name: string;
|
|
312
|
+
/** Human-readable display name. */
|
|
313
|
+
displayName?: string;
|
|
314
|
+
/** Event description. */
|
|
315
|
+
description?: string;
|
|
316
|
+
/** Event category. */
|
|
317
|
+
category?: string;
|
|
318
|
+
/** Event properties schema. */
|
|
319
|
+
properties?: Record<string, unknown>[];
|
|
320
|
+
/** Sync key for config-as-code management. */
|
|
321
|
+
syncKey?: string;
|
|
322
|
+
}
|
|
323
|
+
export interface CreateIndividualDto {
|
|
324
|
+
/** Your external identifier for this customer. Must be unique within the organization. */
|
|
325
|
+
externalId: string;
|
|
326
|
+
fullName: string;
|
|
327
|
+
preferredName?: string;
|
|
328
|
+
dateOfBirth?: string;
|
|
329
|
+
/** ISO 3166-1 alpha-3 country codes */
|
|
330
|
+
nationality?: string[];
|
|
331
|
+
/** ISO 3166-1 alpha-3 country codes */
|
|
332
|
+
countryOfResidence?: string[];
|
|
333
|
+
email?: string;
|
|
334
|
+
phone?: string;
|
|
335
|
+
identificationDocuments?: IdentificationDocumentDto[];
|
|
336
|
+
addresses?: AddressDto[];
|
|
337
|
+
/** Override creation timestamp (ISO 8601). Used by data-loading tools to backfill historical customers. */
|
|
338
|
+
createdAt?: string;
|
|
339
|
+
}
|
|
340
|
+
export interface CreateNoteDto {
|
|
341
|
+
/** Note text content */
|
|
342
|
+
text: string;
|
|
343
|
+
}
|
|
344
|
+
export interface CreateProductDto {
|
|
345
|
+
/** Unique external ID (e.g. COMBANK-SAV-REG). */
|
|
346
|
+
externalId: string;
|
|
347
|
+
/** Product name. */
|
|
348
|
+
name: string;
|
|
349
|
+
/** Product description. */
|
|
350
|
+
description?: string;
|
|
351
|
+
/** Account category. */
|
|
352
|
+
category: string;
|
|
353
|
+
/** Base account type. */
|
|
354
|
+
baseType: string;
|
|
355
|
+
/** Default currency in TYPE:CODE format. */
|
|
356
|
+
defaultCurrency: string;
|
|
357
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
358
|
+
country?: string;
|
|
359
|
+
/** Supported transaction method IDs. */
|
|
360
|
+
supportedMethodIds: string[];
|
|
361
|
+
/** Arbitrary product metadata. */
|
|
362
|
+
metadata?: Record<string, unknown>;
|
|
363
|
+
/** Sync key for config-as-code management. */
|
|
364
|
+
syncKey?: string;
|
|
365
|
+
}
|
|
366
|
+
export interface CreateRiskAssessmentDto {
|
|
367
|
+
answers: RiskAssessmentAnswerDto[];
|
|
368
|
+
resultingRiskLevel: 'HIGH' | 'MEDIUM' | 'LOW' | 'UNRATED';
|
|
369
|
+
computedRiskLevel?: 'HIGH' | 'MEDIUM' | 'LOW' | 'UNRATED';
|
|
370
|
+
ratingOverridden?: boolean;
|
|
371
|
+
overrideJustification?: string;
|
|
372
|
+
narrative?: string;
|
|
373
|
+
riskTags?: string[];
|
|
374
|
+
}
|
|
375
|
+
export interface CreateRiskQuestionnaireDto {
|
|
376
|
+
answers: RiskQuestionnaireAnswerDto[];
|
|
377
|
+
/** Optional narrative summary */
|
|
378
|
+
narrative?: string;
|
|
379
|
+
}
|
|
380
|
+
export interface CreateRuleDto {
|
|
381
|
+
/** Rule name. */
|
|
382
|
+
name: string;
|
|
383
|
+
/** Rule description. */
|
|
384
|
+
description?: string;
|
|
385
|
+
/** Rule subject. */
|
|
386
|
+
subject: string;
|
|
387
|
+
/** Rule trigger. */
|
|
388
|
+
trigger?: string;
|
|
389
|
+
/** Rule severity. */
|
|
390
|
+
severity: 'HIGH' | 'MEDIUM' | 'LOW';
|
|
391
|
+
/** Tags for categorisation. */
|
|
392
|
+
tags?: string[];
|
|
393
|
+
/** Condition tree (AND/OR logic with leaf conditions). */
|
|
394
|
+
conditionTree?: Record<string, unknown>;
|
|
395
|
+
/** Actions to execute when the rule triggers. */
|
|
396
|
+
actions?: string[];
|
|
397
|
+
/** Window period for aggregate conditions. */
|
|
398
|
+
windowPeriod?: string;
|
|
399
|
+
/** Initial status for the rule. */
|
|
400
|
+
initialStatus?: 'DRAFT' | 'ACTIVE' | 'DISABLED';
|
|
401
|
+
/** Sync key for config-as-code management. */
|
|
402
|
+
syncKey?: string;
|
|
403
|
+
}
|
|
404
|
+
export interface CreateStakeholderDto {
|
|
405
|
+
name: string;
|
|
406
|
+
role: 'SHAREHOLDER' | 'UBO' | 'DIRECTOR';
|
|
407
|
+
/** Ownership percentage (0–100) */
|
|
408
|
+
ownershipPercentage?: number;
|
|
409
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
410
|
+
nationality?: string;
|
|
411
|
+
dateOfBirth?: string;
|
|
412
|
+
/** Link to an existing Individual customer */
|
|
413
|
+
individualId?: string;
|
|
414
|
+
/** Link to an existing Entity customer */
|
|
415
|
+
entityId?: string;
|
|
416
|
+
}
|
|
417
|
+
export interface CreateWebhookDto {
|
|
418
|
+
/** Webhook destination name. */
|
|
419
|
+
name: string;
|
|
420
|
+
/** Destination URL (must be HTTPS). */
|
|
421
|
+
url: string;
|
|
422
|
+
/** Human-readable description. */
|
|
423
|
+
description?: string;
|
|
424
|
+
/** Event types to subscribe to. */
|
|
425
|
+
events: string[];
|
|
426
|
+
/** Sync key for config-as-code management. */
|
|
427
|
+
syncKey?: string;
|
|
428
|
+
}
|
|
429
|
+
export interface CryptoWalletDetailsDto {
|
|
430
|
+
/** On-chain wallet address. Tier-1 key for resolution when paired with blockchain — but optional so the same DTO can also represent a partially-known wallet record (e.g. admin CRUD). */
|
|
431
|
+
walletAddress?: string;
|
|
432
|
+
/** Blockchain identifier (e.g. ETH, BTC, SOLANA, POLYGON). Required for unambiguous resolution; resolver falls back to chain="UNKNOWN" when absent. */
|
|
433
|
+
blockchain?: string;
|
|
434
|
+
/** Wallet provider / custodian (Coinbase, Binance, MetaMask, …). */
|
|
435
|
+
walletProvider?: string;
|
|
436
|
+
/** Wallet type (CUSTODIAL, SELF_CUSTODY, EXCHANGE). */
|
|
437
|
+
walletType?: string;
|
|
438
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). */
|
|
439
|
+
externalReference?: string;
|
|
440
|
+
}
|
|
441
|
+
export interface DeviceBrowserDetailsDto {
|
|
442
|
+
/** Browser name (Chrome, Safari, Firefox, …). */
|
|
443
|
+
browserName?: string;
|
|
444
|
+
/** Browser major version (e.g. "120"). */
|
|
445
|
+
browserMajorVersion?: string;
|
|
446
|
+
/** Browser full version (e.g. "120.0.6099.71"). */
|
|
447
|
+
browserFullVersion?: string;
|
|
448
|
+
/** Browser version (legacy alias for browserFullVersion). */
|
|
449
|
+
browserVersion?: string;
|
|
450
|
+
/** Operating system identifier (Windows, macOS, iOS, Android, Linux). */
|
|
451
|
+
os?: string;
|
|
452
|
+
/** OS version string. */
|
|
453
|
+
osVersion?: string;
|
|
454
|
+
/** Raw User-Agent header. */
|
|
455
|
+
userAgent?: string;
|
|
456
|
+
/** Caller-supplied device type (DESKTOP, MOBILE, TABLET, BOT). Server may override based on user-agent. */
|
|
457
|
+
device?: string;
|
|
458
|
+
}
|
|
459
|
+
export interface DigitalWalletDetailsDto {
|
|
460
|
+
/** Provider (PayPal, Venmo, ApplePay, GooglePay, …). Tier-1 key when paired with walletId. */
|
|
461
|
+
provider?: string;
|
|
462
|
+
/** Provider-scoped wallet identifier. */
|
|
463
|
+
walletId?: string;
|
|
464
|
+
/** Mobile number (E.164). Tier-2 key when paired with provider. */
|
|
465
|
+
mobileNumber?: string;
|
|
466
|
+
/** Mobile network operator (relevant for mobile-money rails). */
|
|
467
|
+
networkOperator?: string;
|
|
468
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). */
|
|
469
|
+
externalReference?: string;
|
|
470
|
+
}
|
|
471
|
+
export interface EntityDetailsDto {
|
|
472
|
+
/** Legal Entity Identifier (ISO 17442). Source for LEI tier-1 keys. */
|
|
473
|
+
lei?: string;
|
|
474
|
+
/** PLC, LLC, GmbH, KK, … */
|
|
475
|
+
legalForm?: string;
|
|
476
|
+
/** YYYY-MM-DD */
|
|
477
|
+
dateOfIncorporation?: string;
|
|
478
|
+
/** ISO 3166-1 alpha-3 country code. Distinct from operating country. */
|
|
479
|
+
countryOfIncorporation?: string;
|
|
480
|
+
/** Registered office address (single record — distinct from operating addresses). */
|
|
481
|
+
registeredAddress?: PostalAddressDto;
|
|
482
|
+
industryCodes?: IndustryCodeDto[];
|
|
483
|
+
/** Source for NATIONAL_ID tier-1 keys. Entity schemes: COID, DUNS, BANK, CHID, CUST. */
|
|
484
|
+
nationalIdentifications?: NationalIdentificationDto[];
|
|
485
|
+
/** Legal lifecycle of the entity (DISSOLVED, MERGED, …). Distinct from the row-level lifecycleStatus which tracks operational state in Dossiers. Set by operator or external company-registry feed. */
|
|
486
|
+
operationalStatus?: 'ACTIVE' | 'DISSOLVED' | 'IN_LIQUIDATION' | 'MERGED' | 'UNKNOWN';
|
|
487
|
+
/** YYYY-MM-DD */
|
|
488
|
+
operationalStatusAsOf?: string;
|
|
489
|
+
websites?: string[];
|
|
490
|
+
}
|
|
491
|
+
export interface EntityResponseDto {
|
|
492
|
+
id: string;
|
|
493
|
+
externalId?: string;
|
|
494
|
+
type: string;
|
|
495
|
+
legalName: string;
|
|
496
|
+
tradingNames?: string[];
|
|
497
|
+
registrationNumber?: string;
|
|
498
|
+
countryOfIncorporation?: string;
|
|
499
|
+
dateOfIncorporation?: string;
|
|
500
|
+
entityType?: string;
|
|
501
|
+
parentEntityId?: string;
|
|
502
|
+
email?: string;
|
|
503
|
+
phone?: string;
|
|
504
|
+
riskRating: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
|
|
505
|
+
kycTier?: 'NO_KYC' | 'SDD' | 'CDD' | 'EDD' | 'ONGOING';
|
|
506
|
+
alertCount: number;
|
|
507
|
+
addresses: AddressDto[];
|
|
508
|
+
createdAt: string;
|
|
509
|
+
updatedAt: string;
|
|
510
|
+
}
|
|
511
|
+
export interface ExchangeRateEntryDto {
|
|
512
|
+
/** Source currency in TYPE:CODE format (e.g. FIAT:EUR, CRYPTO:BTC) */
|
|
513
|
+
fromCurrency: string;
|
|
514
|
+
/** Target currency in TYPE:CODE format — must be the tenant base currency */
|
|
515
|
+
toCurrency: string;
|
|
516
|
+
/** Exchange rate as a string to preserve precision (fromCurrency -> toCurrency) */
|
|
517
|
+
rate: string;
|
|
518
|
+
/** When this rate became effective (ISO 8601) */
|
|
519
|
+
effectiveAt: string;
|
|
520
|
+
/** Provider or method that supplied this rate */
|
|
521
|
+
source: string;
|
|
522
|
+
}
|
|
523
|
+
export interface FeeDto {
|
|
524
|
+
/** Fee type (e.g. WIRE_FEE, CORRESPONDENT_FEE, ATM_FEE). */
|
|
525
|
+
type: string;
|
|
526
|
+
/** Fee amount in minor currency units. */
|
|
527
|
+
amount: number;
|
|
528
|
+
/** Fee currency in TYPE:CODE format. */
|
|
529
|
+
currency: string;
|
|
530
|
+
/** Who charged the fee (INSTITUTION, INTERMEDIARY, NETWORK). */
|
|
531
|
+
chargedBy: string;
|
|
532
|
+
/** Human-readable fee description. */
|
|
533
|
+
description?: string;
|
|
534
|
+
}
|
|
535
|
+
export interface IPSessionDto {
|
|
536
|
+
ipAddress?: string;
|
|
537
|
+
isProxy?: boolean;
|
|
538
|
+
isTor?: boolean;
|
|
539
|
+
incognito?: boolean;
|
|
540
|
+
/** ISO 8601 timestamp the IP was observed. */
|
|
541
|
+
seenAt?: string;
|
|
542
|
+
city?: string;
|
|
543
|
+
country?: string;
|
|
544
|
+
isVPN?: boolean;
|
|
545
|
+
vpnProvider?: string;
|
|
546
|
+
}
|
|
547
|
+
export interface IdentificationDocumentDto {
|
|
548
|
+
/** Document type */
|
|
549
|
+
type: string;
|
|
550
|
+
number: string;
|
|
551
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
552
|
+
issuingCountry: string;
|
|
553
|
+
expiryDate?: string;
|
|
554
|
+
}
|
|
555
|
+
export type IdentificationDocumentStatus = 'PENDING' | 'APPROVED' | 'REJECTED';
|
|
556
|
+
/** Computed status — also reflects expiry and archive state. */
|
|
557
|
+
export type IdentificationDocumentEffectiveStatus = IdentificationDocumentStatus | 'EXPIRED' | 'INACTIVE';
|
|
558
|
+
export type IdentificationDocumentArchiveReason = 'LOST' | 'STOLEN' | 'REPLACED' | 'NAME_CHANGE' | 'OTHER';
|
|
559
|
+
export interface UserRef {
|
|
560
|
+
userId: string;
|
|
561
|
+
name: string;
|
|
562
|
+
email?: string;
|
|
563
|
+
role?: string;
|
|
564
|
+
avatar?: string;
|
|
565
|
+
/** Discriminates human users from service principals. */
|
|
566
|
+
type?: 'USER' | 'SERVICE';
|
|
567
|
+
apiKeySanitized?: string;
|
|
568
|
+
}
|
|
569
|
+
export interface RichAddressDto {
|
|
570
|
+
/** Label for the address (e.g. Primary, Permanent, Mailing). */
|
|
571
|
+
tag?: string;
|
|
572
|
+
line1?: string;
|
|
573
|
+
line2?: string;
|
|
574
|
+
city?: string;
|
|
575
|
+
state?: string;
|
|
576
|
+
postalCode?: string;
|
|
577
|
+
/** ISO-3166 alpha-3 country code. */
|
|
578
|
+
country?: string;
|
|
579
|
+
verified?: boolean;
|
|
580
|
+
verifiedAt?: string;
|
|
581
|
+
/** IDs of source documents that contributed this address. */
|
|
582
|
+
documentIds?: string[];
|
|
583
|
+
}
|
|
584
|
+
export interface RichAddressInputDto {
|
|
585
|
+
/** Label for the address (e.g. Primary, Permanent, Mailing). */
|
|
586
|
+
tag: string;
|
|
587
|
+
line1: string;
|
|
588
|
+
line2?: string;
|
|
589
|
+
city: string;
|
|
590
|
+
state?: string;
|
|
591
|
+
postalCode?: string;
|
|
592
|
+
/** ISO-3166 alpha-3 country code. */
|
|
593
|
+
country: string;
|
|
594
|
+
}
|
|
595
|
+
export interface IdDocFileAttachment {
|
|
596
|
+
/** ID of a previously uploaded CustomerFile. */
|
|
597
|
+
fileId: string;
|
|
598
|
+
/** Optional caption (e.g. 'Front side', 'Back side'). */
|
|
599
|
+
note?: string;
|
|
600
|
+
/** Resolved file metadata (name, mime type, size, downloadUrl). */
|
|
601
|
+
file?: CustomerFile;
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Provide exactly one of `fileId` or `fileUrl`:
|
|
605
|
+
* - `fileId` — UUID of a CustomerFile uploaded via `/v1/customers/{customerId}/files/upload-url` + `/confirm`.
|
|
606
|
+
* Platform-file ids (from `/v1/platform/v1/files/upload-url`) are scoped to comment attachments and will be rejected here.
|
|
607
|
+
* - `fileUrl` — URL the server should fetch and persist as a CustomerFile in the target customer. No client-side upload roundtrip.
|
|
608
|
+
*/
|
|
609
|
+
export interface IdDocFileAttachmentInput {
|
|
610
|
+
fileId?: string;
|
|
611
|
+
fileUrl?: string;
|
|
612
|
+
/** Optional caption (e.g. 'Front side', 'Back side'). */
|
|
613
|
+
note?: string;
|
|
614
|
+
}
|
|
615
|
+
export interface IdentificationDocument {
|
|
616
|
+
id: string;
|
|
617
|
+
customerId: string;
|
|
618
|
+
/** e.g. PASSPORT, DRIVERS_LICENSE, NATIONAL_ID */
|
|
619
|
+
type: string;
|
|
620
|
+
number: string;
|
|
621
|
+
/** ISO-3166 alpha-3 country code of the issuing authority. */
|
|
622
|
+
country: string;
|
|
623
|
+
dateOfIssue?: string;
|
|
624
|
+
expiryDate?: string;
|
|
625
|
+
/** Full name as printed on the document, transliterated into English. */
|
|
626
|
+
fullNameEn?: string;
|
|
627
|
+
/** Additional name variants in other scripts/languages. */
|
|
628
|
+
transliterationNames?: string[];
|
|
629
|
+
/** Addresses printed on the document. */
|
|
630
|
+
addresses?: RichAddressDto[];
|
|
631
|
+
dateOfBirth?: string;
|
|
632
|
+
/** Sex/gender as printed on the document (free-form). */
|
|
633
|
+
sex?: string;
|
|
634
|
+
/** Free-form key/value metadata captured from the document. */
|
|
635
|
+
other?: Record<string, unknown>;
|
|
636
|
+
status: IdentificationDocumentStatus;
|
|
637
|
+
effectiveStatus: IdentificationDocumentEffectiveStatus;
|
|
638
|
+
rejectionNarrative?: string;
|
|
639
|
+
tags: string[];
|
|
640
|
+
attachments: IdDocFileAttachment[];
|
|
641
|
+
/** @deprecated Use attachments[].fileId instead. */
|
|
642
|
+
fileIds?: string[];
|
|
643
|
+
notes?: string;
|
|
644
|
+
archivedAt?: string;
|
|
645
|
+
archivedReason?: IdentificationDocumentArchiveReason;
|
|
646
|
+
archivedNotes?: string;
|
|
647
|
+
archivedBy?: UserRef;
|
|
648
|
+
createdBy: UserRef;
|
|
649
|
+
updatedBy?: UserRef;
|
|
650
|
+
createdAt: string;
|
|
651
|
+
updatedAt: string;
|
|
652
|
+
}
|
|
653
|
+
export interface CreateIdentificationDocumentInput {
|
|
654
|
+
/** e.g. PASSPORT, DRIVERS_LICENSE, NATIONAL_ID */
|
|
655
|
+
type: string;
|
|
656
|
+
number: string;
|
|
657
|
+
/** ISO-3166 alpha-3 country code of the issuing authority. */
|
|
658
|
+
country: string;
|
|
659
|
+
dateOfIssue?: string;
|
|
660
|
+
expiryDate?: string;
|
|
661
|
+
/** Full name as printed on the document, transliterated into English. */
|
|
662
|
+
fullNameEn?: string;
|
|
663
|
+
/** Additional name variants in other scripts/languages. */
|
|
664
|
+
transliterationNames?: string[];
|
|
665
|
+
/** Addresses printed on the document. */
|
|
666
|
+
addresses?: RichAddressInputDto[];
|
|
667
|
+
dateOfBirth?: string;
|
|
668
|
+
/** Sex/gender as printed on the document (free-form). */
|
|
669
|
+
sex?: string;
|
|
670
|
+
/** Free-form key/value metadata. */
|
|
671
|
+
other?: Record<string, unknown>;
|
|
672
|
+
tags?: string[];
|
|
673
|
+
attachments?: IdDocFileAttachmentInput[];
|
|
674
|
+
notes?: string;
|
|
675
|
+
}
|
|
676
|
+
export interface UpdateIdentificationDocumentInput {
|
|
677
|
+
type?: string;
|
|
678
|
+
number?: string;
|
|
679
|
+
country?: string;
|
|
680
|
+
dateOfIssue?: string;
|
|
681
|
+
expiryDate?: string;
|
|
682
|
+
fullNameEn?: string;
|
|
683
|
+
transliterationNames?: string[];
|
|
684
|
+
addresses?: RichAddressInputDto[];
|
|
685
|
+
dateOfBirth?: string;
|
|
686
|
+
sex?: string;
|
|
687
|
+
other?: Record<string, unknown>;
|
|
688
|
+
tags?: string[];
|
|
689
|
+
attachments?: IdDocFileAttachmentInput[];
|
|
690
|
+
notes?: string;
|
|
691
|
+
}
|
|
692
|
+
export interface ArchiveIdentificationDocumentInput {
|
|
693
|
+
reason: IdentificationDocumentArchiveReason;
|
|
694
|
+
/** Additional context. */
|
|
695
|
+
notes?: string;
|
|
696
|
+
}
|
|
697
|
+
export interface TransitionIdentificationDocumentStatusInput {
|
|
698
|
+
status: IdentificationDocumentStatus;
|
|
699
|
+
/** Required when status = REJECTED. */
|
|
700
|
+
rejectionNarrative?: string;
|
|
701
|
+
/** Optional rejection classification tags. */
|
|
702
|
+
rejectionTags?: string[];
|
|
703
|
+
}
|
|
704
|
+
export interface ListIdentificationDocumentsQuery {
|
|
705
|
+
/** Include archived (soft-deleted) documents. */
|
|
706
|
+
includeArchived?: boolean;
|
|
707
|
+
status?: IdentificationDocumentStatus;
|
|
708
|
+
}
|
|
709
|
+
export interface DeleteIdentificationDocumentResponse {
|
|
710
|
+
deletedId: string;
|
|
711
|
+
}
|
|
712
|
+
/** Resource types that can carry platform comments. */
|
|
713
|
+
export type CommentResourceType = 'CUSTOMER' | 'ACCOUNT' | 'TRANSACTION' | 'TASK' | 'ALERT' | 'COMMENT' | 'COUNTERPARTY' | 'DEVICE' | 'RULE' | 'PRODUCT' | 'INSTRUMENT' | 'IDENTIFICATION_DOCUMENT';
|
|
714
|
+
export interface PlatformCommentAttachmentInput {
|
|
715
|
+
/** fileId returned by /platform/v1/files/upload-url */
|
|
716
|
+
fileId: string;
|
|
717
|
+
name?: string;
|
|
718
|
+
type?: string;
|
|
719
|
+
size?: number;
|
|
720
|
+
}
|
|
721
|
+
export interface PlatformCommentAttachment extends PlatformCommentAttachmentInput {
|
|
722
|
+
/** Short-lived presigned download URL (when resolved by the server). */
|
|
723
|
+
downloadUrl?: string;
|
|
724
|
+
}
|
|
725
|
+
export interface PlatformCreateCommentDto {
|
|
726
|
+
resourceType: CommentResourceType;
|
|
727
|
+
resourceId: string;
|
|
728
|
+
/** Markdown body (GFM tables supported). */
|
|
729
|
+
body: string;
|
|
730
|
+
attachments?: PlatformCommentAttachmentInput[];
|
|
731
|
+
/** Optional idempotency key. Re-POSTing with the same value returns the existing comment instead of creating a duplicate. Unique per principal. */
|
|
732
|
+
externalRequestId?: string;
|
|
733
|
+
}
|
|
734
|
+
export interface PlatformUpdateCommentDto {
|
|
735
|
+
/** Markdown body (GFM tables supported). */
|
|
736
|
+
body: string;
|
|
737
|
+
}
|
|
738
|
+
export interface ListPlatformCommentsQuery {
|
|
739
|
+
resourceType: CommentResourceType;
|
|
740
|
+
resourceId: string;
|
|
741
|
+
}
|
|
742
|
+
/** Comment response shape — the OpenAPI spec does not document a full schema, so callers should narrow as needed. */
|
|
743
|
+
export interface PlatformComment {
|
|
744
|
+
id: string;
|
|
745
|
+
resourceType: CommentResourceType;
|
|
746
|
+
resourceId: string;
|
|
747
|
+
body: string;
|
|
748
|
+
attachments?: PlatformCommentAttachment[];
|
|
749
|
+
author: UserRef;
|
|
750
|
+
createdAt: string;
|
|
751
|
+
updatedAt: string;
|
|
752
|
+
editedAt?: string;
|
|
753
|
+
[key: string]: unknown;
|
|
754
|
+
}
|
|
755
|
+
export interface PlatformRequestUploadUrlDto {
|
|
756
|
+
fileName: string;
|
|
757
|
+
contentType: string;
|
|
758
|
+
fileSizeBytes?: number;
|
|
759
|
+
}
|
|
760
|
+
export interface PlatformConfirmUploadDto {
|
|
761
|
+
fileId: string;
|
|
762
|
+
}
|
|
763
|
+
export interface CustomerFile {
|
|
764
|
+
id: string;
|
|
765
|
+
/** Original file name. */
|
|
766
|
+
name: string;
|
|
767
|
+
/** MIME type. */
|
|
768
|
+
type: string;
|
|
769
|
+
/** File size in bytes. */
|
|
770
|
+
size: number;
|
|
771
|
+
uploadedAt: string;
|
|
772
|
+
uploadedBy: UserRef;
|
|
773
|
+
category?: string;
|
|
774
|
+
/** Short-lived presigned download URL. */
|
|
775
|
+
downloadUrl?: string;
|
|
776
|
+
description?: string;
|
|
777
|
+
}
|
|
778
|
+
export interface IndividualDetailsDto {
|
|
779
|
+
/** YYYY-MM-DD. ISO 20022 DateAndPlaceOfBirth.BirthDate. */
|
|
780
|
+
dateOfBirth?: string;
|
|
781
|
+
placeOfBirth?: PlaceOfBirthDto;
|
|
782
|
+
gender?: 'M' | 'F' | 'X' | 'UNKNOWN';
|
|
783
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
784
|
+
nationality?: string;
|
|
785
|
+
/** ISO 3166-1 alpha-3 country code. Distinct from operating country. */
|
|
786
|
+
countryOfResidence?: string;
|
|
787
|
+
occupation?: string;
|
|
788
|
+
employerName?: string;
|
|
789
|
+
/** Source for NATIONAL_ID tier-1 keys. Individual schemes: NIDN, CCPT, DRLC, SOSE, ARNU, CUST. */
|
|
790
|
+
nationalIdentifications?: NationalIdentificationDto[];
|
|
791
|
+
}
|
|
792
|
+
export interface IndividualResponseDto {
|
|
793
|
+
id: string;
|
|
794
|
+
externalId?: string;
|
|
795
|
+
type: string;
|
|
796
|
+
fullName: string;
|
|
797
|
+
preferredName?: string;
|
|
798
|
+
dateOfBirth?: string;
|
|
799
|
+
nationality?: string[];
|
|
800
|
+
countryOfResidence?: string[];
|
|
801
|
+
email?: string;
|
|
802
|
+
phone?: string;
|
|
803
|
+
riskRating: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
|
|
804
|
+
kycTier?: 'NO_KYC' | 'SDD' | 'CDD' | 'EDD' | 'ONGOING';
|
|
805
|
+
alertCount: number;
|
|
806
|
+
identificationDocuments: IdentificationDocumentDto[];
|
|
807
|
+
addresses: AddressDto[];
|
|
808
|
+
createdAt: string;
|
|
809
|
+
updatedAt: string;
|
|
810
|
+
}
|
|
811
|
+
export interface IndustryCodeDto {
|
|
812
|
+
/** Classification scheme. */
|
|
813
|
+
scheme: 'NAICS' | 'SIC' | 'NACE' | 'ISIC' | 'MCC';
|
|
814
|
+
code: string;
|
|
815
|
+
}
|
|
816
|
+
export interface IngestDevicePayloadDto {
|
|
817
|
+
/** Provider-supplied device fingerprint (e.g. FingerprintJS visitorId). Used as the resolution key — when absent the resolver no-ops (transaction is recorded with deviceId=null). */
|
|
818
|
+
fingerprint?: string;
|
|
819
|
+
/** Browser / OS details. */
|
|
820
|
+
browserDetails?: DeviceBrowserDetailsDto;
|
|
821
|
+
/** IP sessions observed for this device. */
|
|
822
|
+
ipSessions?: IPSessionDto[];
|
|
823
|
+
/** Bot probability score (0-1). Persisted only on first sight; server-computed values take precedence later. */
|
|
824
|
+
botProbability?: number;
|
|
825
|
+
/** Detection confidence score (0-1). */
|
|
826
|
+
confidence?: number;
|
|
827
|
+
}
|
|
828
|
+
export interface IngestEventDto {
|
|
829
|
+
/** Event type (core or custom). Core types: customer.failed_login, customer.profile_updated. Custom types match event definitions. */
|
|
830
|
+
type: string;
|
|
831
|
+
/** When the event occurred. */
|
|
832
|
+
timestamp: string;
|
|
833
|
+
/** Customer ID this event is associated with. */
|
|
834
|
+
customerId: string;
|
|
835
|
+
/** Account ID if the event is account-scoped. */
|
|
836
|
+
accountId?: string;
|
|
837
|
+
/** Device identifier for device-context rules. */
|
|
838
|
+
deviceId?: string;
|
|
839
|
+
/** Session identifier for session-context rules. */
|
|
840
|
+
sessionId?: string;
|
|
841
|
+
/** Event-specific payload data. Schema depends on event type. */
|
|
842
|
+
data?: Record<string, unknown>;
|
|
843
|
+
}
|
|
844
|
+
export interface IngestTransactionDto {
|
|
845
|
+
/** Your unique identifier for this transaction. Used for idempotency. */
|
|
846
|
+
transactionId: string;
|
|
847
|
+
/** When the transaction occurred in your system. */
|
|
848
|
+
timestamp: string;
|
|
849
|
+
/** The transaction payload. */
|
|
850
|
+
transaction: TransactionBodyDto;
|
|
851
|
+
/** Payment instrument used for this transaction. */
|
|
852
|
+
instrument?: InstrumentPayloadDto;
|
|
853
|
+
/** Intermediary banks/institutions in the payment chain. */
|
|
854
|
+
intermediaries?: IntermediaryDto[];
|
|
855
|
+
/** Device / fingerprint data used for device-based rules and device-trust resolution. */
|
|
856
|
+
device?: IngestDevicePayloadDto;
|
|
857
|
+
/** Set to true for async processing. Returns 202 Accepted immediately; results delivered via webhook. */
|
|
858
|
+
async?: boolean;
|
|
859
|
+
}
|
|
860
|
+
export interface InitializeSetupDto {
|
|
861
|
+
/** Admin user full name */
|
|
862
|
+
name: string;
|
|
863
|
+
/** Admin email address */
|
|
864
|
+
email: string;
|
|
865
|
+
/** Admin password (min 8 characters) */
|
|
866
|
+
password: string;
|
|
867
|
+
/** Organization name */
|
|
868
|
+
organizationName: string;
|
|
869
|
+
/** Organization slug (URL-friendly identifier) */
|
|
870
|
+
organizationSlug: string;
|
|
871
|
+
/** Enable Transaction Intelligence product */
|
|
872
|
+
transactionIntelligence?: boolean;
|
|
873
|
+
/** Enable KYC vendor integration (within Customer Monitoring) */
|
|
874
|
+
kyc?: boolean;
|
|
875
|
+
}
|
|
876
|
+
export interface InstitutionDetailsDto {
|
|
877
|
+
swift?: string;
|
|
878
|
+
lei?: string;
|
|
879
|
+
regulatoryStatus?: string;
|
|
880
|
+
}
|
|
881
|
+
export interface InstrumentPayloadDto {
|
|
882
|
+
/** Instrument identifier. */
|
|
883
|
+
id: string;
|
|
884
|
+
/** Human-readable name persisted as instruments.displayName (e.g. "Personal Visa", "Travel Card"). */
|
|
885
|
+
name?: string;
|
|
886
|
+
/** Instrument type (CARD, VIRTUAL_CARD, WALLET_TOKEN, etc.). */
|
|
887
|
+
type?: string;
|
|
888
|
+
/** Instrument status (ACTIVE, BLOCKED, EXPIRED, etc.). */
|
|
889
|
+
status?: string;
|
|
890
|
+
/** Token or masked identifier. */
|
|
891
|
+
token?: string;
|
|
892
|
+
}
|
|
893
|
+
export interface IntermediaryDto {
|
|
894
|
+
/** Role of the intermediary (e.g. CORRESPONDENT, CLEARING_BANK). */
|
|
895
|
+
role: string;
|
|
896
|
+
/** Position in the intermediary chain (0-indexed). */
|
|
897
|
+
position: number;
|
|
898
|
+
/** Intermediary name. */
|
|
899
|
+
name?: string;
|
|
900
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
901
|
+
country?: string;
|
|
902
|
+
/** Entity type. */
|
|
903
|
+
type?: string;
|
|
904
|
+
/** Payment instrument details. */
|
|
905
|
+
paymentDetails?: Record<string, unknown>;
|
|
906
|
+
}
|
|
907
|
+
export interface LinkCounterpartyDto {
|
|
908
|
+
/** Customer ID to link */
|
|
909
|
+
customerId: string;
|
|
910
|
+
}
|
|
911
|
+
export interface MerchantDetailsDto {
|
|
912
|
+
/** Acquirer/processor-scoped merchant identifier. Tier-2 key when paired with acquirerBin or merchantCountry. */
|
|
913
|
+
merchantId?: string;
|
|
914
|
+
/** Acquirer BIN. Pairs with merchantId for tier-2 MERCHANT_ID key. */
|
|
915
|
+
acquirerBin?: string;
|
|
916
|
+
/** Acquirer name (display). */
|
|
917
|
+
acquirerName?: string;
|
|
918
|
+
/** Card network used at the merchant terminal. */
|
|
919
|
+
cardNetwork?: string;
|
|
920
|
+
/** Merchant category code (ISO 18245). */
|
|
921
|
+
merchantCategoryCode?: string;
|
|
922
|
+
/** Merchant display name. */
|
|
923
|
+
merchantName?: string;
|
|
924
|
+
/** ISO 3166-1 alpha-3 country code where the merchant operates. Pairs with merchantId for tier-2 fallback when acquirerBin is absent. */
|
|
925
|
+
merchantCountry?: string;
|
|
926
|
+
/** POS terminal identifier. */
|
|
927
|
+
terminalId?: string;
|
|
928
|
+
/** Physical merchant address (when known). */
|
|
929
|
+
address?: PaymentLocationAddressDto;
|
|
930
|
+
/** Lat/lng of the merchant terminal or storefront. */
|
|
931
|
+
coordinates?: PaymentLocationCoordinatesDto;
|
|
932
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). */
|
|
933
|
+
externalReference?: string;
|
|
934
|
+
}
|
|
935
|
+
export interface MetadataBooleanWrapperDto {
|
|
936
|
+
type: 'boolean';
|
|
937
|
+
value: boolean;
|
|
938
|
+
}
|
|
939
|
+
export interface MetadataCurrencyWrapperDto {
|
|
940
|
+
type: 'currency';
|
|
941
|
+
/** TYPE:CODE identifier validated against the tenant currency registry. */
|
|
942
|
+
value: string;
|
|
943
|
+
}
|
|
944
|
+
export interface MetadataDateWrapperDto {
|
|
945
|
+
type: 'date';
|
|
946
|
+
/** ISO 8601 calendar date (YYYY-MM-DD) or full datetime with timezone. */
|
|
947
|
+
value: string;
|
|
948
|
+
}
|
|
949
|
+
export interface MetadataMonetaryWrapperDto {
|
|
950
|
+
type: 'monetary';
|
|
951
|
+
/** Denominated literal `<amount>@<TYPE:CODE>` (major units). Normalised to minor units at ingest. */
|
|
952
|
+
value: string;
|
|
953
|
+
}
|
|
954
|
+
export interface MetadataNumberWrapperDto {
|
|
955
|
+
type: 'number';
|
|
956
|
+
value: number;
|
|
957
|
+
}
|
|
958
|
+
export interface MetadataSetWrapperDto {
|
|
959
|
+
type: 'set';
|
|
960
|
+
value: string[];
|
|
961
|
+
}
|
|
962
|
+
export interface MetadataTextWrapperDto {
|
|
963
|
+
type: 'text';
|
|
964
|
+
value: string;
|
|
965
|
+
}
|
|
966
|
+
export interface NationalIdentificationDto {
|
|
967
|
+
/** Scheme code. Individual schemes: NIDN, CCPT, DRLC, SOSE, ARNU, CUST. Entity schemes: COID, DUNS, BANK, CHID, CUST. Proprietary schemes also accepted. */
|
|
968
|
+
scheme: string;
|
|
969
|
+
value: string;
|
|
970
|
+
/** ISO 3166-1 alpha-3 country code (namespace for the identifier). */
|
|
971
|
+
country: string;
|
|
972
|
+
issuer?: string;
|
|
973
|
+
}
|
|
974
|
+
export interface OtherPaymentDetailsDto {
|
|
975
|
+
/** Caller-defined subtype label, e.g. "barter", "store_credit", "loyalty_points". */
|
|
976
|
+
subtype: string;
|
|
977
|
+
/** Free-form description of the payment rail. */
|
|
978
|
+
description?: string;
|
|
979
|
+
/** Caller-defined fields. Stored verbatim on the snapshot; not used for resolution. */
|
|
980
|
+
customFields?: Record<string, unknown>;
|
|
981
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). Only resolution key for this rail. */
|
|
982
|
+
externalReference?: string;
|
|
983
|
+
}
|
|
984
|
+
export interface PaginationMeta {
|
|
985
|
+
/** Cursor to fetch the next page, null if no more results */
|
|
986
|
+
nextCursor: Record<string, unknown> | null;
|
|
987
|
+
/** Total number of items matching the query */
|
|
988
|
+
totalCount: number;
|
|
989
|
+
}
|
|
990
|
+
export interface PatchTransactionStatusDto {
|
|
991
|
+
/** Internal transaction UUID returned from `POST /transactions` (the `id` field on the response). Provide either this OR `transactionId`. */
|
|
992
|
+
id?: string;
|
|
993
|
+
/** Caller-supplied transaction id (the same value sent as `transactionId` on POST — `reference` column). Provide either this OR `id`. */
|
|
994
|
+
transactionId?: string;
|
|
995
|
+
/** New status. Must be a valid transition from the current status (see ALLOWED_STATUS_TRANSITIONS). */
|
|
996
|
+
status: 'PENDING' | 'PROCESSING' | 'COMPLETE' | 'REJECTED' | 'REVERSED' | 'BLOCKED';
|
|
997
|
+
/** When the status change occurred in your system. Stored on the transaction row as `status_changed_at`. Does not modify `executed_at` (immutable). */
|
|
998
|
+
statusChangedAt: string;
|
|
999
|
+
/** Human-readable reason for terminal transitions (REJECTED, REVERSED, BLOCKED). Stored in statusHistory for audit. */
|
|
1000
|
+
terminalReason?: string;
|
|
1001
|
+
}
|
|
1002
|
+
export interface PaymentDetailsDto {
|
|
1003
|
+
/** Discriminator selecting which payment subtype block to populate. NOTE: card-on-file (the instrument the principal customer paid with) is modelled separately on the transaction `instrument` field — counterparty payment details describe how the OTHER party receives money. */
|
|
1004
|
+
type: 'BANK_ACCOUNT' | 'CRYPTO_WALLET' | 'DIGITAL_WALLET' | 'MERCHANT' | 'PROCESSOR' | 'CASH' | 'CHECK' | 'ATM' | 'OTHER';
|
|
1005
|
+
bankAccount?: BankAccountDetailsDto;
|
|
1006
|
+
cryptoWallet?: CryptoWalletDetailsDto;
|
|
1007
|
+
digitalWallet?: DigitalWalletDetailsDto;
|
|
1008
|
+
merchant?: MerchantDetailsDto;
|
|
1009
|
+
processor?: ProcessorDetailsDto;
|
|
1010
|
+
cash?: CashDetailsDto;
|
|
1011
|
+
check?: CheckDetailsDto;
|
|
1012
|
+
atm?: AtmDetailsDto;
|
|
1013
|
+
other?: OtherPaymentDetailsDto;
|
|
1014
|
+
}
|
|
1015
|
+
export interface PaymentInfoDto {
|
|
1016
|
+
/** Direction from the principal party's perspective. */
|
|
1017
|
+
direction: 'IN' | 'OUT';
|
|
1018
|
+
/** Currency in TYPE:CODE format (e.g. FIAT:USD, CRYPTO:BTC). */
|
|
1019
|
+
originCurrency: string;
|
|
1020
|
+
/** Amount in minor currency units (cents for USD, satoshis for BTC). */
|
|
1021
|
+
originAmount: number;
|
|
1022
|
+
/** Settlement amount in destination currency (minor units). */
|
|
1023
|
+
destinationAmount?: number;
|
|
1024
|
+
/** Destination currency when different from origin. */
|
|
1025
|
+
destinationCurrency?: string;
|
|
1026
|
+
/** Transaction fees. */
|
|
1027
|
+
fees?: FeeDto[];
|
|
1028
|
+
/** Account balance before this transaction (minor units). */
|
|
1029
|
+
balanceBeforeTransaction?: number;
|
|
1030
|
+
/** Account balance after this transaction (minor units). */
|
|
1031
|
+
balanceAfterTransaction?: number;
|
|
1032
|
+
/** Currency of the balance fields (TYPE:CODE format). Defaults to originCurrency. */
|
|
1033
|
+
balanceCurrency?: string;
|
|
1034
|
+
}
|
|
1035
|
+
export interface PaymentLocationAddressDto {
|
|
1036
|
+
/** Street address line 1. */
|
|
1037
|
+
line1?: string;
|
|
1038
|
+
/** Street address line 2. */
|
|
1039
|
+
line2?: string;
|
|
1040
|
+
/** City / town. */
|
|
1041
|
+
city?: string;
|
|
1042
|
+
/** State / province / region. */
|
|
1043
|
+
state?: string;
|
|
1044
|
+
/** Postal / ZIP code. */
|
|
1045
|
+
postalCode?: string;
|
|
1046
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
1047
|
+
country?: string;
|
|
1048
|
+
}
|
|
1049
|
+
export interface PaymentLocationCoordinatesDto {
|
|
1050
|
+
/** Latitude (WGS84). */
|
|
1051
|
+
lat: number;
|
|
1052
|
+
/** Longitude (WGS84). */
|
|
1053
|
+
lng: number;
|
|
1054
|
+
}
|
|
1055
|
+
export interface PlaceOfBirthDto {
|
|
1056
|
+
cityOfBirth?: string;
|
|
1057
|
+
provinceOfBirth?: string;
|
|
1058
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
1059
|
+
countryOfBirth: string;
|
|
1060
|
+
}
|
|
1061
|
+
export interface PostalAddressDto {
|
|
1062
|
+
/** Address type discriminator. */
|
|
1063
|
+
type?: 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX' | 'ADDR';
|
|
1064
|
+
department?: string;
|
|
1065
|
+
subDepartment?: string;
|
|
1066
|
+
streetName?: string;
|
|
1067
|
+
buildingNumber?: string;
|
|
1068
|
+
buildingName?: string;
|
|
1069
|
+
floor?: string;
|
|
1070
|
+
postBox?: string;
|
|
1071
|
+
room?: string;
|
|
1072
|
+
postCode?: string;
|
|
1073
|
+
townName?: string;
|
|
1074
|
+
townLocationName?: string;
|
|
1075
|
+
districtName?: string;
|
|
1076
|
+
countrySubDivision?: string;
|
|
1077
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
1078
|
+
country: string;
|
|
1079
|
+
/** Unstructured fallback (max 7 lines × 70 chars per ISO 20022). */
|
|
1080
|
+
addressLines?: string[];
|
|
1081
|
+
/** YYYY-MM-DD; address validity start. */
|
|
1082
|
+
validFrom?: string;
|
|
1083
|
+
/** YYYY-MM-DD; address validity end. */
|
|
1084
|
+
validTo?: string;
|
|
1085
|
+
}
|
|
1086
|
+
export interface PrincipalPartyDto {
|
|
1087
|
+
/** Customer identifier. Use the internal UUID directly, or prefix with `ext:` for your external ID (e.g. `ext:CUST-2847`). */
|
|
1088
|
+
customerId: string;
|
|
1089
|
+
/** Account identifier. Use the internal UUID directly, or prefix with `ext:` for your external ID (e.g. `ext:ACC-2847-001`). */
|
|
1090
|
+
accountId: string;
|
|
1091
|
+
}
|
|
1092
|
+
export interface ProcessorDetailsDto {
|
|
1093
|
+
/** Processor namespace (Stripe, Adyen, Braintree, …). Tier-2 key when paired with reference. */
|
|
1094
|
+
namespace?: string;
|
|
1095
|
+
/** Namespace-scoped reference identifier. CALLER CONTRACT (per spec ingestion/07 §5.1.3): use the processor's customer-level identifier (e.g. Stripe cus_*, Plaid acc_*), NOT per-transaction values like Stripe pi_*. */
|
|
1096
|
+
reference?: string;
|
|
1097
|
+
/** Caller-supplied stable rail identifier (tier-1 key per spec ingestion/07 §5.1.2). */
|
|
1098
|
+
externalReference?: string;
|
|
1099
|
+
}
|
|
1100
|
+
export interface PushExchangeRatesDto {
|
|
1101
|
+
/** Array of exchange rate entries to append */
|
|
1102
|
+
rates: ExchangeRateEntryDto[];
|
|
1103
|
+
}
|
|
1104
|
+
export interface RegisterDeviceBrowserDetailsDto {
|
|
1105
|
+
browserName: string;
|
|
1106
|
+
browserMajorVersion?: string;
|
|
1107
|
+
browserFullVersion?: string;
|
|
1108
|
+
os: 'WINDOWS' | 'MACOS' | 'LINUX' | 'IOS' | 'ANDROID' | 'OTHER';
|
|
1109
|
+
osVersion?: string;
|
|
1110
|
+
device: 'DESKTOP' | 'MOBILE' | 'TABLET' | 'UNKNOWN';
|
|
1111
|
+
userAgent?: string;
|
|
1112
|
+
}
|
|
1113
|
+
export interface RegisterDeviceDto {
|
|
1114
|
+
/** Fingerprint provider identifier for the device */
|
|
1115
|
+
fingerprint: string;
|
|
1116
|
+
browserDetails: RegisterDeviceBrowserDetailsDto;
|
|
1117
|
+
/** IP sessions observed for the device */
|
|
1118
|
+
ipSessions?: unknown[];
|
|
1119
|
+
botProbability?: number;
|
|
1120
|
+
confidence?: number;
|
|
1121
|
+
}
|
|
1122
|
+
export interface RelatedTransactionDto {
|
|
1123
|
+
/** Transaction ID of the related transaction. Use the same identifier format as `transactionId` (your external reference). */
|
|
1124
|
+
transactionId: string;
|
|
1125
|
+
/** Describes how this transaction relates to the current one (e.g. FEE, REVERSAL, FUNDING_LEG, SETTLEMENT, REFUND, SPLIT). */
|
|
1126
|
+
relationship?: string;
|
|
1127
|
+
}
|
|
1128
|
+
export interface RequestUploadUrlDto {
|
|
1129
|
+
/** Original file name */
|
|
1130
|
+
fileName: string;
|
|
1131
|
+
/** MIME type */
|
|
1132
|
+
contentType: string;
|
|
1133
|
+
/** Optional label or category */
|
|
1134
|
+
label?: string;
|
|
1135
|
+
}
|
|
1136
|
+
export interface ResetMemberPasswordDto {
|
|
1137
|
+
/** Member id (organization-scoped) of the user to reset */
|
|
1138
|
+
memberId: string;
|
|
1139
|
+
}
|
|
1140
|
+
export interface RiskAssessmentAnswerDto {
|
|
1141
|
+
questionId: string;
|
|
1142
|
+
question: string;
|
|
1143
|
+
answer: string;
|
|
1144
|
+
score: number;
|
|
1145
|
+
selectedOptionId?: string;
|
|
1146
|
+
notes?: string;
|
|
1147
|
+
}
|
|
1148
|
+
export interface RiskQuestionnaireAnswerDto {
|
|
1149
|
+
questionId: string;
|
|
1150
|
+
question: string;
|
|
1151
|
+
answer: string;
|
|
1152
|
+
score: number;
|
|
1153
|
+
}
|
|
1154
|
+
export interface TaxIdentificationDto {
|
|
1155
|
+
/** Tax identifier value. */
|
|
1156
|
+
value: string;
|
|
1157
|
+
/** ISO 3166-1 alpha-3 country code. */
|
|
1158
|
+
country: string;
|
|
1159
|
+
type: 'TIN' | 'VAT' | 'EIN' | 'GIIN' | 'OTHER';
|
|
1160
|
+
issuer?: string;
|
|
1161
|
+
/** YYYY-MM-DD */
|
|
1162
|
+
registrationDate?: string;
|
|
1163
|
+
}
|
|
1164
|
+
export interface TransactionBodyDto {
|
|
1165
|
+
/** Transaction kind discriminator. */
|
|
1166
|
+
kind: 'TRANSFER' | 'ACCOUNT_ENTRY';
|
|
1167
|
+
/** Two-level payment classification: closed category enum + open method string. */
|
|
1168
|
+
mode: Record<string, unknown>;
|
|
1169
|
+
/** Channel and session context for the transaction. */
|
|
1170
|
+
channel?: ChannelDto;
|
|
1171
|
+
/** Transaction status. */
|
|
1172
|
+
status: 'PENDING' | 'PROCESSING' | 'COMPLETE' | 'REJECTED' | 'REVERSED';
|
|
1173
|
+
/** Monetary details for this transaction. */
|
|
1174
|
+
paymentInfo: PaymentInfoDto;
|
|
1175
|
+
/** The customer initiating/owning this transaction. */
|
|
1176
|
+
principalParty: PrincipalPartyDto;
|
|
1177
|
+
/** The other party in this transaction. */
|
|
1178
|
+
counterparty?: CounterpartyPayloadDto;
|
|
1179
|
+
/** When the transaction was executed. Used for window calculations. */
|
|
1180
|
+
executedAt: string;
|
|
1181
|
+
/** Your internal reference or invoice number. */
|
|
1182
|
+
reference?: string;
|
|
1183
|
+
/** Free-text memo or note. */
|
|
1184
|
+
memo?: string;
|
|
1185
|
+
/** IDs of related transactions (e.g. funding legs, reversals, fees). Useful when multiple transactions form a single logical transfer. */
|
|
1186
|
+
relatedTransactions?: RelatedTransactionDto[];
|
|
1187
|
+
/** Open per-transaction key/value bag stored on `transactions.metadata` and exposed to the rules engine as `txn.metadata.{key}`. Each value is either a **bare primitive** (string / number / boolean — coerced to `text` at ingest) or a **typed wrapper** `{ "type": "...", "value": ... }` so the evaluator can run typed comparisons. See spec evaluation/02 §1.M.
|
|
1188
|
+
|
|
1189
|
+
**Supported wrapper types:** `text`, `number`, `boolean`, `date` (ISO 8601), `set` (string array), `currency` (`TYPE:CODE`), `monetary` (`<amount>@<TYPE:CODE>` — normalised to minor units; pre-resolves an additional `txn.metadata.{key}.currency` payload path so cross-currency rules work).
|
|
1190
|
+
|
|
1191
|
+
**Rejected at ingest (HTTP 422):** bare arrays (use `{"type":"set",...}`); bare objects without a `type`/`value` shape; unknown `type` values; `null`; currencies not in the tenant registry; malformed monetary literals.
|
|
1192
|
+
|
|
1193
|
+
**Aggregate filters do not accept `metadata.*` keys** (audit AU25). Use first-class fields when something needs cross-transaction aggregation. */
|
|
1194
|
+
metadata?: Record<string, string | number | boolean | MetadataTextWrapperDto | MetadataNumberWrapperDto | MetadataBooleanWrapperDto | MetadataDateWrapperDto | MetadataSetWrapperDto | MetadataCurrencyWrapperDto | MetadataMonetaryWrapperDto>;
|
|
1195
|
+
}
|
|
1196
|
+
export interface UpdateAccountDto {
|
|
1197
|
+
/** Product ID this account is based on */
|
|
1198
|
+
productId?: string;
|
|
1199
|
+
label?: string;
|
|
1200
|
+
/** Currency code (ISO 4217) */
|
|
1201
|
+
currency?: string;
|
|
1202
|
+
bankName?: string;
|
|
1203
|
+
bankSwift?: string;
|
|
1204
|
+
iban?: string;
|
|
1205
|
+
accountNumber?: string;
|
|
1206
|
+
/** Arbitrary key-value properties */
|
|
1207
|
+
customProperties?: Record<string, unknown>;
|
|
1208
|
+
/** Override account opening timestamp (ISO 8601). Used by data-loading tools to backfill historical accounts. */
|
|
1209
|
+
openedAt?: string;
|
|
1210
|
+
}
|
|
1211
|
+
export interface UpdateConstantDto {
|
|
1212
|
+
/** Constant type. If changed, `value` must be re-supplied in the new shape. */
|
|
1213
|
+
type?: 'scalar' | 'monetary' | 'set' | 'range' | 'text' | 'number' | 'boolean' | 'date' | 'currency';
|
|
1214
|
+
/** Payload shape depends on the constant's `type`. Pick the matching variant below. Validated at write time. */
|
|
1215
|
+
value?: {
|
|
1216
|
+
/** e.g. `"1000000@FIAT:USD"` = $10,000.00. Precision implied by currency: USD=2, JPY=0, BTC=8, ETH=9, USDT/USDC=6. */
|
|
1217
|
+
value: string;
|
|
1218
|
+
} | {
|
|
1219
|
+
values: string[];
|
|
1220
|
+
} | {
|
|
1221
|
+
min: unknown;
|
|
1222
|
+
max: unknown;
|
|
1223
|
+
} | {
|
|
1224
|
+
value: unknown;
|
|
1225
|
+
};
|
|
1226
|
+
/** Human-readable description. */
|
|
1227
|
+
description?: string;
|
|
1228
|
+
}
|
|
1229
|
+
export interface UpdateCounterpartyDto {
|
|
1230
|
+
name?: string;
|
|
1231
|
+
description?: string;
|
|
1232
|
+
identity?: 'INDIVIDUAL' | 'ENTITY' | 'UNKNOWN';
|
|
1233
|
+
classification?: 'BANK_ACCOUNT' | 'WALLET' | 'MERCHANT' | 'FINANCIAL_INSTITUTION' | 'PAYMENT_NETWORK' | 'UNKNOWN';
|
|
1234
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
1235
|
+
country?: string;
|
|
1236
|
+
bankAccount?: BankAccountDetailsDto;
|
|
1237
|
+
wallet?: CryptoWalletDetailsDto;
|
|
1238
|
+
merchant?: MerchantDetailsDto;
|
|
1239
|
+
institution?: InstitutionDetailsDto;
|
|
1240
|
+
}
|
|
1241
|
+
/** OpenAPI schema is empty; treated as an opaque key/value bag — narrow on the caller side. */
|
|
1242
|
+
export type UpdateCurrencyInput = Record<string, unknown>;
|
|
1243
|
+
export interface UpdateDeviceTrustDto {
|
|
1244
|
+
trustLevel: 'KNOWN' | 'NEW' | 'SUSPICIOUS';
|
|
1245
|
+
}
|
|
1246
|
+
export interface UpdateEntityDto {
|
|
1247
|
+
legalName?: string;
|
|
1248
|
+
tradingNames?: string[];
|
|
1249
|
+
registrationNumber?: string;
|
|
1250
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
1251
|
+
countryOfIncorporation?: string;
|
|
1252
|
+
dateOfIncorporation?: string;
|
|
1253
|
+
entityType?: string;
|
|
1254
|
+
/** Parent entity ID for subsidiaries */
|
|
1255
|
+
parentEntityId?: string;
|
|
1256
|
+
email?: string;
|
|
1257
|
+
phone?: string;
|
|
1258
|
+
addresses?: AddressDto[];
|
|
1259
|
+
/**
|
|
1260
|
+
* Generic key/value entries to upsert onto the entity record. Merge semantics —
|
|
1261
|
+
* unlisted keys are left untouched.
|
|
1262
|
+
*/
|
|
1263
|
+
otherInformation?: UpsertOtherInformationEntryInput[];
|
|
1264
|
+
/**
|
|
1265
|
+
* When set, marks the update as a merge from an approved identification document.
|
|
1266
|
+
* Server emits an `idDoc.merged` activity (instead of the generic `customer.updated`)
|
|
1267
|
+
* and tags any newly upserted otherInformation entries with this id as their `sourceId`.
|
|
1268
|
+
*/
|
|
1269
|
+
sourceDocumentId?: string;
|
|
1270
|
+
/** Override creation timestamp (ISO 8601). Used by data-loading tools to backfill historical entities. */
|
|
1271
|
+
createdAt?: string;
|
|
1272
|
+
}
|
|
1273
|
+
export interface UpdateEventDefinitionDto {
|
|
1274
|
+
/** Human-readable display name. */
|
|
1275
|
+
displayName?: string;
|
|
1276
|
+
/** Event description. */
|
|
1277
|
+
description?: string;
|
|
1278
|
+
/** Event category. */
|
|
1279
|
+
category?: string;
|
|
1280
|
+
/** Event properties schema. */
|
|
1281
|
+
properties?: Record<string, unknown>[];
|
|
1282
|
+
}
|
|
1283
|
+
export interface UpdateExpectedActivityDto {
|
|
1284
|
+
expectedMonthlyTransactionCount: number;
|
|
1285
|
+
/** Amount in minor units */
|
|
1286
|
+
expectedMonthlyVolume: number;
|
|
1287
|
+
/** Amount in minor units */
|
|
1288
|
+
expectedAvgTransactionSize?: number;
|
|
1289
|
+
seasonalFluctuations?: boolean;
|
|
1290
|
+
seasonalDescription?: string;
|
|
1291
|
+
}
|
|
1292
|
+
export interface UpdateFaceImageDto {
|
|
1293
|
+
/** New URL to import; omit to keep the existing file. */
|
|
1294
|
+
fileUrl?: string;
|
|
1295
|
+
note?: string;
|
|
1296
|
+
}
|
|
1297
|
+
export interface UpdateIdentificationDocumentDto {
|
|
1298
|
+
expiryDate?: string;
|
|
1299
|
+
dateOfIssue?: string;
|
|
1300
|
+
notes?: string;
|
|
1301
|
+
attachments?: AttachmentDto[];
|
|
1302
|
+
}
|
|
1303
|
+
export interface UpdateIndividualDto {
|
|
1304
|
+
fullName?: string;
|
|
1305
|
+
preferredName?: string;
|
|
1306
|
+
dateOfBirth?: string;
|
|
1307
|
+
/** ISO 3166-1 alpha-3 country codes */
|
|
1308
|
+
nationality?: string[];
|
|
1309
|
+
/** ISO 3166-1 alpha-3 country codes */
|
|
1310
|
+
countryOfResidence?: string[];
|
|
1311
|
+
/** Additional name variants the customer is known by. */
|
|
1312
|
+
aliases?: string[];
|
|
1313
|
+
email?: string;
|
|
1314
|
+
phone?: string;
|
|
1315
|
+
identificationDocuments?: IdentificationDocumentDto[];
|
|
1316
|
+
addresses?: AddressDto[];
|
|
1317
|
+
/**
|
|
1318
|
+
* Generic key/value entries to upsert onto the customer record. Merge semantics —
|
|
1319
|
+
* unlisted keys are left untouched. Use this for fields without first-class columns
|
|
1320
|
+
* (e.g. `sex`, `placeOfBirth`, fields extracted from an identification document).
|
|
1321
|
+
*/
|
|
1322
|
+
otherInformation?: UpsertOtherInformationEntryInput[];
|
|
1323
|
+
/**
|
|
1324
|
+
* When set, marks the update as a merge from an approved identification document.
|
|
1325
|
+
* Server emits an `idDoc.merged` activity (instead of the generic `customer.updated`)
|
|
1326
|
+
* and tags any newly upserted otherInformation entries with this id as their `sourceId`.
|
|
1327
|
+
*/
|
|
1328
|
+
sourceDocumentId?: string;
|
|
1329
|
+
/** Override creation timestamp (ISO 8601). Used by data-loading tools to backfill historical customers. */
|
|
1330
|
+
createdAt?: string;
|
|
1331
|
+
}
|
|
1332
|
+
export type CustomerOtherInformationSource = 'MANUAL' | 'IDENTIFICATION_DOCUMENT' | 'SYSTEM';
|
|
1333
|
+
export interface CustomerOtherInformationEntry {
|
|
1334
|
+
id: string;
|
|
1335
|
+
customerId: string;
|
|
1336
|
+
key: string;
|
|
1337
|
+
value: string;
|
|
1338
|
+
source: CustomerOtherInformationSource;
|
|
1339
|
+
/**
|
|
1340
|
+
* Identifier of the source artifact when `source` is non-MANUAL.
|
|
1341
|
+
* For `IDENTIFICATION_DOCUMENT` this is the document id that populated the entry.
|
|
1342
|
+
*/
|
|
1343
|
+
sourceId?: string;
|
|
1344
|
+
createdBy: UserRef;
|
|
1345
|
+
updatedBy?: UserRef;
|
|
1346
|
+
createdAt: string;
|
|
1347
|
+
updatedAt: string;
|
|
1348
|
+
}
|
|
1349
|
+
export interface UpsertOtherInformationEntryInput {
|
|
1350
|
+
key: string;
|
|
1351
|
+
value: string;
|
|
1352
|
+
source?: CustomerOtherInformationSource;
|
|
1353
|
+
sourceId?: string;
|
|
1354
|
+
}
|
|
1355
|
+
export interface BulkUpsertOtherInformationInput {
|
|
1356
|
+
entries: UpsertOtherInformationEntryInput[];
|
|
1357
|
+
}
|
|
1358
|
+
/**
|
|
1359
|
+
* Body for `PUT /customers/{customerId}/other-information/{key}` — the key
|
|
1360
|
+
* travels in the URL path so only the value (and optional provenance) are in the body.
|
|
1361
|
+
*/
|
|
1362
|
+
export interface UpsertOtherInformationValueInput {
|
|
1363
|
+
value: string;
|
|
1364
|
+
source?: CustomerOtherInformationSource;
|
|
1365
|
+
sourceId?: string;
|
|
1366
|
+
}
|
|
1367
|
+
export interface UpdateNoteDto {
|
|
1368
|
+
/** Updated note text */
|
|
1369
|
+
text?: string;
|
|
1370
|
+
}
|
|
1371
|
+
export interface UpdateProductDto {
|
|
1372
|
+
/** Product name. */
|
|
1373
|
+
name?: string;
|
|
1374
|
+
/** Product description. */
|
|
1375
|
+
description?: string;
|
|
1376
|
+
/** Product status. */
|
|
1377
|
+
status?: string;
|
|
1378
|
+
/** Supported transaction method IDs. */
|
|
1379
|
+
supportedMethodIds?: string[];
|
|
1380
|
+
/** Arbitrary product metadata. */
|
|
1381
|
+
metadata?: Record<string, unknown>;
|
|
1382
|
+
}
|
|
1383
|
+
export interface UpdateRiskRatingDto {
|
|
1384
|
+
riskRating: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
|
|
1385
|
+
/** Justification for the override */
|
|
1386
|
+
justification?: string;
|
|
1387
|
+
}
|
|
1388
|
+
export interface UpdateRuleDto {
|
|
1389
|
+
/** Rule name. */
|
|
1390
|
+
name?: string;
|
|
1391
|
+
/** Rule description. */
|
|
1392
|
+
description?: string;
|
|
1393
|
+
/** Rule subject. */
|
|
1394
|
+
subject?: string;
|
|
1395
|
+
/** Rule trigger. */
|
|
1396
|
+
trigger?: string;
|
|
1397
|
+
/** Rule severity. */
|
|
1398
|
+
severity?: 'HIGH' | 'MEDIUM' | 'LOW';
|
|
1399
|
+
/** Tags for categorisation. */
|
|
1400
|
+
tags?: string[];
|
|
1401
|
+
/** Rule status. */
|
|
1402
|
+
status?: 'DRAFT' | 'ACTIVE' | 'DISABLED';
|
|
1403
|
+
/** Condition tree. */
|
|
1404
|
+
conditionTree?: Record<string, unknown>;
|
|
1405
|
+
/** Actions to execute. */
|
|
1406
|
+
actions?: string[];
|
|
1407
|
+
/** Window period. */
|
|
1408
|
+
windowPeriod?: string;
|
|
1409
|
+
}
|
|
1410
|
+
export interface UpdateStakeholderDto {
|
|
1411
|
+
name?: string;
|
|
1412
|
+
role?: 'SHAREHOLDER' | 'UBO' | 'DIRECTOR';
|
|
1413
|
+
/** Ownership percentage (0–100) */
|
|
1414
|
+
ownershipPercentage?: number;
|
|
1415
|
+
/** ISO 3166-1 alpha-3 country code */
|
|
1416
|
+
nationality?: string;
|
|
1417
|
+
dateOfBirth?: string;
|
|
1418
|
+
/** Link to an existing Individual customer */
|
|
1419
|
+
individualId?: string;
|
|
1420
|
+
/** Link to an existing Entity customer */
|
|
1421
|
+
entityId?: string;
|
|
1422
|
+
}
|
|
1423
|
+
export interface UpdateWebhookDto {
|
|
1424
|
+
/** Webhook destination name. */
|
|
1425
|
+
name?: string;
|
|
1426
|
+
/** Destination URL (must be HTTPS). */
|
|
1427
|
+
url?: string;
|
|
1428
|
+
/** Human-readable description. */
|
|
1429
|
+
description?: string;
|
|
1430
|
+
/** Event types to subscribe to. */
|
|
1431
|
+
events?: string[];
|
|
1432
|
+
}
|
|
1433
|
+
export type ListIndividualsResponse = Paginated<IndividualResponseDto>;
|
|
1434
|
+
export type ListEntitiesResponse = Paginated<EntityResponseDto>;
|
|
1435
|
+
export type ListAccountsResponse = Paginated<AccountResponseDto>;
|
|
1436
|
+
export type ListCounterpartiesResponse = Paginated<CounterpartyResponseDto>;
|
|
1437
|
+
export interface IngestTransactionMatchAction {
|
|
1438
|
+
type: string;
|
|
1439
|
+
}
|
|
1440
|
+
export interface IngestTransactionMatch {
|
|
1441
|
+
ruleId: string;
|
|
1442
|
+
ruleName: string;
|
|
1443
|
+
severity: 'HIGH' | 'MEDIUM' | 'LOW';
|
|
1444
|
+
flagReasons: string[];
|
|
1445
|
+
actionsExecuted: IngestTransactionMatchAction[];
|
|
1446
|
+
}
|
|
1447
|
+
/** Synchronous response (200) from POST /v1/transactions. */
|
|
1448
|
+
export interface IngestTransactionResponse {
|
|
1449
|
+
/** Echoed from request. */
|
|
1450
|
+
transactionId: string;
|
|
1451
|
+
/** Database record ID. */
|
|
1452
|
+
id: string;
|
|
1453
|
+
/** True if identical transactionId+timestamp was seen before. */
|
|
1454
|
+
cached: boolean;
|
|
1455
|
+
/** Unique evaluation run ID. */
|
|
1456
|
+
evaluationId: string;
|
|
1457
|
+
/** Total active rules checked. */
|
|
1458
|
+
rulesEvaluated: number;
|
|
1459
|
+
matches: IngestTransactionMatch[];
|
|
1460
|
+
/** Server-side evaluation time in milliseconds. */
|
|
1461
|
+
executionTimeMs: number;
|
|
1462
|
+
}
|
|
1463
|
+
/** Async response (202) from POST /v1/transactions when accepted for background processing. */
|
|
1464
|
+
export interface IngestTransactionAsyncResponse {
|
|
1465
|
+
transactionId: string;
|
|
1466
|
+
id: string;
|
|
1467
|
+
async: true;
|
|
1468
|
+
status: 'ACCEPTED' | string;
|
|
1469
|
+
}
|
|
1470
|
+
export interface IngestEventResponse {
|
|
1471
|
+
/** Database record ID for the ingested event. */
|
|
1472
|
+
eventId: string;
|
|
1473
|
+
/** Echoed event type. */
|
|
1474
|
+
type: string;
|
|
1475
|
+
}
|
|
1476
|
+
export interface CursorPaginationQuery {
|
|
1477
|
+
cursor?: string;
|
|
1478
|
+
limit?: number;
|
|
1479
|
+
}
|
|
1480
|
+
export interface ListCurrenciesQuery {
|
|
1481
|
+
type?: string;
|
|
1482
|
+
enabled?: boolean;
|
|
1483
|
+
search?: string;
|
|
1484
|
+
}
|
|
1485
|
+
export interface SyncKeyQuery {
|
|
1486
|
+
syncKey?: string;
|
|
1487
|
+
}
|
|
1488
|
+
export interface DeleteConstantQuery {
|
|
1489
|
+
force?: boolean;
|
|
1490
|
+
reason?: string;
|
|
1491
|
+
}
|
|
1492
|
+
export interface GetCustomerQuery {
|
|
1493
|
+
/** If true, treat the path id as an external customer ID. */
|
|
1494
|
+
isExternal?: boolean;
|
|
1495
|
+
}
|
|
1496
|
+
export type OpaqueResponse = Record<string, unknown>;
|
|
1497
|
+
export type ApiKeyResponseDto = OpaqueResponse;
|
|
1498
|
+
export type TokenResponseDto = OpaqueResponse;
|
|
1499
|
+
export type InvitationDetailsDto = OpaqueResponse;
|
|
1500
|
+
export type SetupStatusDto = OpaqueResponse;
|
|
1501
|
+
export type SetupInitializeResponseDto = OpaqueResponse;
|
|
1502
|
+
export type NoteResponseDto = OpaqueResponse;
|
|
1503
|
+
/**
|
|
1504
|
+
* Response shape for `POST /v1/customers/{customerId}/files/upload-url`. The
|
|
1505
|
+
* OpenAPI spec does not formally enumerate the response — the documented step-2
|
|
1506
|
+
* inputs are the `fileKey` (echoed back on confirm) and `uploadUrl` (S3 PUT target).
|
|
1507
|
+
*/
|
|
1508
|
+
export interface UploadUrlResponseDto {
|
|
1509
|
+
/** Opaque key — pass this to `confirmUpload` after PUT-ing the bytes. */
|
|
1510
|
+
fileKey: string;
|
|
1511
|
+
/** Presigned S3 PUT URL — upload the bytes here with a matching `Content-Type`. */
|
|
1512
|
+
uploadUrl: string;
|
|
1513
|
+
[key: string]: unknown;
|
|
1514
|
+
}
|
|
1515
|
+
/**
|
|
1516
|
+
* Response shape for customer file endpoints (list / get / confirm). Confirm
|
|
1517
|
+
* returns the materialised `CustomerFile` whose `id` is what
|
|
1518
|
+
* `IdentificationDocument.attachments[].fileId` must reference.
|
|
1519
|
+
*/
|
|
1520
|
+
export type FileResponseDto = CustomerFile;
|
|
1521
|
+
/**
|
|
1522
|
+
* Response shape for `POST /v1/platform/v1/files/upload-url`. The OpenAPI spec
|
|
1523
|
+
* does not formally enumerate this — fields below are the documented step-2 inputs
|
|
1524
|
+
* the caller is expected to use (`fileId` for later reference, `uploadUrl` to PUT bytes).
|
|
1525
|
+
* Additional server-supplied fields (e.g. `expiresAt`) flow through as `unknown`.
|
|
1526
|
+
*/
|
|
1527
|
+
export interface PlatformUploadUrlResponseDto {
|
|
1528
|
+
/** ID to reference in subsequent platform writes via `attachments[].fileId`. */
|
|
1529
|
+
fileId: string;
|
|
1530
|
+
/** Presigned PUT URL — upload the bytes here with a matching `Content-Type`. */
|
|
1531
|
+
uploadUrl: string;
|
|
1532
|
+
[key: string]: unknown;
|
|
1533
|
+
}
|
|
1534
|
+
/** Response shape for `POST /v1/platform/v1/files/confirm` — typically `{ fileId, downloadUrl, ... }`. */
|
|
1535
|
+
export type PlatformConfirmUploadResponseDto = OpaqueResponse;
|
|
1536
|
+
export type StakeholderResponseDto = OpaqueResponse;
|
|
1537
|
+
export type DeviceResponseDto = OpaqueResponse;
|
|
1538
|
+
export type DeviceSummaryDto = OpaqueResponse;
|
|
1539
|
+
export type RiskQuestionnaireResponseDto = OpaqueResponse;
|
|
1540
|
+
export type RiskAssessmentResponseDto = OpaqueResponse;
|
|
1541
|
+
export type ExpectedActivityResponseDto = OpaqueResponse;
|
|
1542
|
+
export type ScreeningResultDto = OpaqueResponse;
|
|
1543
|
+
export type ConfirmedMatchDto = OpaqueResponse;
|
|
1544
|
+
export type RuleResponseDto = OpaqueResponse;
|
|
1545
|
+
export type ConstantResponseDto = OpaqueResponse;
|
|
1546
|
+
export type ProductResponseDto = OpaqueResponse;
|
|
1547
|
+
export type CurrencyResponseDto = OpaqueResponse;
|
|
1548
|
+
export type EventDefinitionResponseDto = OpaqueResponse;
|
|
1549
|
+
export type WebhookResponseDto = OpaqueResponse;
|
|
1550
|
+
export type SyncExportDto = OpaqueResponse;
|
|
1551
|
+
export type ResetConfigResponseDto = OpaqueResponse;
|
|
1552
|
+
export type PushExchangeRatesResponseDto = OpaqueResponse;
|
|
1553
|
+
export type BulkCurrencyStatusResponseDto = OpaqueResponse;
|
|
1554
|
+
/** Bulk update body for `PATCH /v1/config/currencies/bulk-status` (schema undocumented). */
|
|
1555
|
+
export type BulkCurrencyStatusInput = Record<string, unknown>;
|
|
1556
|
+
//# sourceMappingURL=types.d.ts.map
|