@edge-markets/connect 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -0
- package/dist/index.d.mts +2971 -0
- package/dist/index.d.ts +2971 -0
- package/dist/index.js +348 -0
- package/dist/index.mjs +288 -0
- package/package.json +58 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,2971 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
interface paths {
|
|
6
|
+
"/auth/register": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
get?: never;
|
|
14
|
+
put?: never;
|
|
15
|
+
post: operations["RegistrationController_register"];
|
|
16
|
+
delete?: never;
|
|
17
|
+
options?: never;
|
|
18
|
+
head?: never;
|
|
19
|
+
patch?: never;
|
|
20
|
+
trace?: never;
|
|
21
|
+
};
|
|
22
|
+
"/auth/verify-email-otp": {
|
|
23
|
+
parameters: {
|
|
24
|
+
query?: never;
|
|
25
|
+
header?: never;
|
|
26
|
+
path?: never;
|
|
27
|
+
cookie?: never;
|
|
28
|
+
};
|
|
29
|
+
get?: never;
|
|
30
|
+
put?: never;
|
|
31
|
+
post: operations["RegistrationController_verifyEmailOTP"];
|
|
32
|
+
delete?: never;
|
|
33
|
+
options?: never;
|
|
34
|
+
head?: never;
|
|
35
|
+
patch?: never;
|
|
36
|
+
trace?: never;
|
|
37
|
+
};
|
|
38
|
+
"/auth/accept-terms": {
|
|
39
|
+
parameters: {
|
|
40
|
+
query?: never;
|
|
41
|
+
header?: never;
|
|
42
|
+
path?: never;
|
|
43
|
+
cookie?: never;
|
|
44
|
+
};
|
|
45
|
+
get?: never;
|
|
46
|
+
put?: never;
|
|
47
|
+
post: operations["RegistrationController_acceptTerms"];
|
|
48
|
+
delete?: never;
|
|
49
|
+
options?: never;
|
|
50
|
+
head?: never;
|
|
51
|
+
patch?: never;
|
|
52
|
+
trace?: never;
|
|
53
|
+
};
|
|
54
|
+
"/auth/complete-profile": {
|
|
55
|
+
parameters: {
|
|
56
|
+
query?: never;
|
|
57
|
+
header?: never;
|
|
58
|
+
path?: never;
|
|
59
|
+
cookie?: never;
|
|
60
|
+
};
|
|
61
|
+
get?: never;
|
|
62
|
+
put?: never;
|
|
63
|
+
post: operations["RegistrationController_completeProfile"];
|
|
64
|
+
delete?: never;
|
|
65
|
+
options?: never;
|
|
66
|
+
head?: never;
|
|
67
|
+
patch?: never;
|
|
68
|
+
trace?: never;
|
|
69
|
+
};
|
|
70
|
+
"/auth/update-ssn": {
|
|
71
|
+
parameters: {
|
|
72
|
+
query?: never;
|
|
73
|
+
header?: never;
|
|
74
|
+
path?: never;
|
|
75
|
+
cookie?: never;
|
|
76
|
+
};
|
|
77
|
+
get?: never;
|
|
78
|
+
put?: never;
|
|
79
|
+
post: operations["RegistrationController_updateSSN"];
|
|
80
|
+
delete?: never;
|
|
81
|
+
options?: never;
|
|
82
|
+
head?: never;
|
|
83
|
+
patch?: never;
|
|
84
|
+
trace?: never;
|
|
85
|
+
};
|
|
86
|
+
"/auth/setup-mfa": {
|
|
87
|
+
parameters: {
|
|
88
|
+
query?: never;
|
|
89
|
+
header?: never;
|
|
90
|
+
path?: never;
|
|
91
|
+
cookie?: never;
|
|
92
|
+
};
|
|
93
|
+
get?: never;
|
|
94
|
+
put?: never;
|
|
95
|
+
post: operations["MFASetupController_setupMFA"];
|
|
96
|
+
delete?: never;
|
|
97
|
+
options?: never;
|
|
98
|
+
head?: never;
|
|
99
|
+
patch?: never;
|
|
100
|
+
trace?: never;
|
|
101
|
+
};
|
|
102
|
+
"/auth/resend-sms-setup": {
|
|
103
|
+
parameters: {
|
|
104
|
+
query?: never;
|
|
105
|
+
header?: never;
|
|
106
|
+
path?: never;
|
|
107
|
+
cookie?: never;
|
|
108
|
+
};
|
|
109
|
+
get?: never;
|
|
110
|
+
put?: never;
|
|
111
|
+
post: operations["MFASetupController_resendSMSSetup"];
|
|
112
|
+
delete?: never;
|
|
113
|
+
options?: never;
|
|
114
|
+
head?: never;
|
|
115
|
+
patch?: never;
|
|
116
|
+
trace?: never;
|
|
117
|
+
};
|
|
118
|
+
"/auth/verify-authenticator-setup": {
|
|
119
|
+
parameters: {
|
|
120
|
+
query?: never;
|
|
121
|
+
header?: never;
|
|
122
|
+
path?: never;
|
|
123
|
+
cookie?: never;
|
|
124
|
+
};
|
|
125
|
+
get?: never;
|
|
126
|
+
put?: never;
|
|
127
|
+
post: operations["MFASetupController_verifyAuthenticatorSetup"];
|
|
128
|
+
delete?: never;
|
|
129
|
+
options?: never;
|
|
130
|
+
head?: never;
|
|
131
|
+
patch?: never;
|
|
132
|
+
trace?: never;
|
|
133
|
+
};
|
|
134
|
+
"/auth/verify-sms-setup": {
|
|
135
|
+
parameters: {
|
|
136
|
+
query?: never;
|
|
137
|
+
header?: never;
|
|
138
|
+
path?: never;
|
|
139
|
+
cookie?: never;
|
|
140
|
+
};
|
|
141
|
+
get?: never;
|
|
142
|
+
put?: never;
|
|
143
|
+
post: operations["MFASetupController_verifySMSSetup"];
|
|
144
|
+
delete?: never;
|
|
145
|
+
options?: never;
|
|
146
|
+
head?: never;
|
|
147
|
+
patch?: never;
|
|
148
|
+
trace?: never;
|
|
149
|
+
};
|
|
150
|
+
"/auth/login": {
|
|
151
|
+
parameters: {
|
|
152
|
+
query?: never;
|
|
153
|
+
header?: never;
|
|
154
|
+
path?: never;
|
|
155
|
+
cookie?: never;
|
|
156
|
+
};
|
|
157
|
+
get?: never;
|
|
158
|
+
put?: never;
|
|
159
|
+
post: operations["LoginController_login"];
|
|
160
|
+
delete?: never;
|
|
161
|
+
options?: never;
|
|
162
|
+
head?: never;
|
|
163
|
+
patch?: never;
|
|
164
|
+
trace?: never;
|
|
165
|
+
};
|
|
166
|
+
"/auth/verify-login-otp": {
|
|
167
|
+
parameters: {
|
|
168
|
+
query?: never;
|
|
169
|
+
header?: never;
|
|
170
|
+
path?: never;
|
|
171
|
+
cookie?: never;
|
|
172
|
+
};
|
|
173
|
+
get?: never;
|
|
174
|
+
put?: never;
|
|
175
|
+
post: operations["LoginController_verifyLoginOTP"];
|
|
176
|
+
delete?: never;
|
|
177
|
+
options?: never;
|
|
178
|
+
head?: never;
|
|
179
|
+
patch?: never;
|
|
180
|
+
trace?: never;
|
|
181
|
+
};
|
|
182
|
+
"/auth/verify-mfa": {
|
|
183
|
+
parameters: {
|
|
184
|
+
query?: never;
|
|
185
|
+
header?: never;
|
|
186
|
+
path?: never;
|
|
187
|
+
cookie?: never;
|
|
188
|
+
};
|
|
189
|
+
get?: never;
|
|
190
|
+
put?: never;
|
|
191
|
+
post: operations["LoginController_verifyMFA"];
|
|
192
|
+
delete?: never;
|
|
193
|
+
options?: never;
|
|
194
|
+
head?: never;
|
|
195
|
+
patch?: never;
|
|
196
|
+
trace?: never;
|
|
197
|
+
};
|
|
198
|
+
"/auth/resend-email-otp": {
|
|
199
|
+
parameters: {
|
|
200
|
+
query?: never;
|
|
201
|
+
header?: never;
|
|
202
|
+
path?: never;
|
|
203
|
+
cookie?: never;
|
|
204
|
+
};
|
|
205
|
+
get?: never;
|
|
206
|
+
put?: never;
|
|
207
|
+
post: operations["LoginController_resendEmailOTP"];
|
|
208
|
+
delete?: never;
|
|
209
|
+
options?: never;
|
|
210
|
+
head?: never;
|
|
211
|
+
patch?: never;
|
|
212
|
+
trace?: never;
|
|
213
|
+
};
|
|
214
|
+
"/auth/resend-sms-mfa": {
|
|
215
|
+
parameters: {
|
|
216
|
+
query?: never;
|
|
217
|
+
header?: never;
|
|
218
|
+
path?: never;
|
|
219
|
+
cookie?: never;
|
|
220
|
+
};
|
|
221
|
+
get?: never;
|
|
222
|
+
put?: never;
|
|
223
|
+
post: operations["LoginController_resendSMSMFA"];
|
|
224
|
+
delete?: never;
|
|
225
|
+
options?: never;
|
|
226
|
+
head?: never;
|
|
227
|
+
patch?: never;
|
|
228
|
+
trace?: never;
|
|
229
|
+
};
|
|
230
|
+
"/auth/refresh-token": {
|
|
231
|
+
parameters: {
|
|
232
|
+
query?: never;
|
|
233
|
+
header?: never;
|
|
234
|
+
path?: never;
|
|
235
|
+
cookie?: never;
|
|
236
|
+
};
|
|
237
|
+
get?: never;
|
|
238
|
+
put?: never;
|
|
239
|
+
post: operations["LoginController_refreshToken"];
|
|
240
|
+
delete?: never;
|
|
241
|
+
options?: never;
|
|
242
|
+
head?: never;
|
|
243
|
+
patch?: never;
|
|
244
|
+
trace?: never;
|
|
245
|
+
};
|
|
246
|
+
"/auth/debug/ip": {
|
|
247
|
+
parameters: {
|
|
248
|
+
query?: never;
|
|
249
|
+
header?: never;
|
|
250
|
+
path?: never;
|
|
251
|
+
cookie?: never;
|
|
252
|
+
};
|
|
253
|
+
get?: never;
|
|
254
|
+
put?: never;
|
|
255
|
+
post: operations["LoginController_debugIp"];
|
|
256
|
+
delete?: never;
|
|
257
|
+
options?: never;
|
|
258
|
+
head?: never;
|
|
259
|
+
patch?: never;
|
|
260
|
+
trace?: never;
|
|
261
|
+
};
|
|
262
|
+
"/auth/profile": {
|
|
263
|
+
parameters: {
|
|
264
|
+
query?: never;
|
|
265
|
+
header?: never;
|
|
266
|
+
path?: never;
|
|
267
|
+
cookie?: never;
|
|
268
|
+
};
|
|
269
|
+
get: operations["ProfileController_getProfile"];
|
|
270
|
+
put: operations["ProfileController_updateProfile"];
|
|
271
|
+
post?: never;
|
|
272
|
+
delete?: never;
|
|
273
|
+
options?: never;
|
|
274
|
+
head?: never;
|
|
275
|
+
patch?: never;
|
|
276
|
+
trace?: never;
|
|
277
|
+
};
|
|
278
|
+
"/auth/fill-account-vip": {
|
|
279
|
+
parameters: {
|
|
280
|
+
query?: never;
|
|
281
|
+
header?: never;
|
|
282
|
+
path?: never;
|
|
283
|
+
cookie?: never;
|
|
284
|
+
};
|
|
285
|
+
get?: never;
|
|
286
|
+
put: operations["ProfileController_fillAccountVIP"];
|
|
287
|
+
post?: never;
|
|
288
|
+
delete?: never;
|
|
289
|
+
options?: never;
|
|
290
|
+
head?: never;
|
|
291
|
+
patch?: never;
|
|
292
|
+
trace?: never;
|
|
293
|
+
};
|
|
294
|
+
"/auth/logout": {
|
|
295
|
+
parameters: {
|
|
296
|
+
query?: never;
|
|
297
|
+
header?: never;
|
|
298
|
+
path?: never;
|
|
299
|
+
cookie?: never;
|
|
300
|
+
};
|
|
301
|
+
get?: never;
|
|
302
|
+
put?: never;
|
|
303
|
+
post: operations["LogoutController_logout"];
|
|
304
|
+
delete?: never;
|
|
305
|
+
options?: never;
|
|
306
|
+
head?: never;
|
|
307
|
+
patch?: never;
|
|
308
|
+
trace?: never;
|
|
309
|
+
};
|
|
310
|
+
"/vgs/ping": {
|
|
311
|
+
parameters: {
|
|
312
|
+
query?: never;
|
|
313
|
+
header?: never;
|
|
314
|
+
path?: never;
|
|
315
|
+
cookie?: never;
|
|
316
|
+
};
|
|
317
|
+
get?: never;
|
|
318
|
+
put?: never;
|
|
319
|
+
post: operations["VGSController_pingGalileo"];
|
|
320
|
+
delete?: never;
|
|
321
|
+
options?: never;
|
|
322
|
+
head?: never;
|
|
323
|
+
patch?: never;
|
|
324
|
+
trace?: never;
|
|
325
|
+
};
|
|
326
|
+
"/vgs/card/{cardId}": {
|
|
327
|
+
parameters: {
|
|
328
|
+
query?: never;
|
|
329
|
+
header?: never;
|
|
330
|
+
path?: never;
|
|
331
|
+
cookie?: never;
|
|
332
|
+
};
|
|
333
|
+
get: operations["VGSController_getCardDetails"];
|
|
334
|
+
put?: never;
|
|
335
|
+
post?: never;
|
|
336
|
+
delete?: never;
|
|
337
|
+
options?: never;
|
|
338
|
+
head?: never;
|
|
339
|
+
patch?: never;
|
|
340
|
+
trace?: never;
|
|
341
|
+
};
|
|
342
|
+
"/vgs/card/{cardId}/pin-change-key": {
|
|
343
|
+
parameters: {
|
|
344
|
+
query?: never;
|
|
345
|
+
header?: never;
|
|
346
|
+
path?: never;
|
|
347
|
+
cookie?: never;
|
|
348
|
+
};
|
|
349
|
+
get?: never;
|
|
350
|
+
put?: never;
|
|
351
|
+
post: operations["VGSController_getPinChangeKey"];
|
|
352
|
+
delete?: never;
|
|
353
|
+
options?: never;
|
|
354
|
+
head?: never;
|
|
355
|
+
patch?: never;
|
|
356
|
+
trace?: never;
|
|
357
|
+
};
|
|
358
|
+
"/vgs/card/{cardId}/commit-pin-change": {
|
|
359
|
+
parameters: {
|
|
360
|
+
query?: never;
|
|
361
|
+
header?: never;
|
|
362
|
+
path?: never;
|
|
363
|
+
cookie?: never;
|
|
364
|
+
};
|
|
365
|
+
get?: never;
|
|
366
|
+
put?: never;
|
|
367
|
+
post: operations["VGSController_commitPinChange"];
|
|
368
|
+
delete?: never;
|
|
369
|
+
options?: never;
|
|
370
|
+
head?: never;
|
|
371
|
+
patch?: never;
|
|
372
|
+
trace?: never;
|
|
373
|
+
};
|
|
374
|
+
"/admin/migration/status": {
|
|
375
|
+
parameters: {
|
|
376
|
+
query?: never;
|
|
377
|
+
header?: never;
|
|
378
|
+
path?: never;
|
|
379
|
+
cookie?: never;
|
|
380
|
+
};
|
|
381
|
+
get: operations["MigrationController_getStatus"];
|
|
382
|
+
put?: never;
|
|
383
|
+
post?: never;
|
|
384
|
+
delete?: never;
|
|
385
|
+
options?: never;
|
|
386
|
+
head?: never;
|
|
387
|
+
patch?: never;
|
|
388
|
+
trace?: never;
|
|
389
|
+
};
|
|
390
|
+
"/admin/migration/mark-users": {
|
|
391
|
+
parameters: {
|
|
392
|
+
query?: never;
|
|
393
|
+
header?: never;
|
|
394
|
+
path?: never;
|
|
395
|
+
cookie?: never;
|
|
396
|
+
};
|
|
397
|
+
get?: never;
|
|
398
|
+
put?: never;
|
|
399
|
+
post: operations["MigrationController_markUsers"];
|
|
400
|
+
delete?: never;
|
|
401
|
+
options?: never;
|
|
402
|
+
head?: never;
|
|
403
|
+
patch?: never;
|
|
404
|
+
trace?: never;
|
|
405
|
+
};
|
|
406
|
+
"/admin/migration/validate": {
|
|
407
|
+
parameters: {
|
|
408
|
+
query?: never;
|
|
409
|
+
header?: never;
|
|
410
|
+
path?: never;
|
|
411
|
+
cookie?: never;
|
|
412
|
+
};
|
|
413
|
+
get?: never;
|
|
414
|
+
put?: never;
|
|
415
|
+
post: operations["MigrationController_validateUsers"];
|
|
416
|
+
delete?: never;
|
|
417
|
+
options?: never;
|
|
418
|
+
head?: never;
|
|
419
|
+
patch?: never;
|
|
420
|
+
trace?: never;
|
|
421
|
+
};
|
|
422
|
+
"/admin/migration/preview": {
|
|
423
|
+
parameters: {
|
|
424
|
+
query?: never;
|
|
425
|
+
header?: never;
|
|
426
|
+
path?: never;
|
|
427
|
+
cookie?: never;
|
|
428
|
+
};
|
|
429
|
+
get?: never;
|
|
430
|
+
put?: never;
|
|
431
|
+
post: operations["MigrationController_preview"];
|
|
432
|
+
delete?: never;
|
|
433
|
+
options?: never;
|
|
434
|
+
head?: never;
|
|
435
|
+
patch?: never;
|
|
436
|
+
trace?: never;
|
|
437
|
+
};
|
|
438
|
+
"/admin/migration/trigger": {
|
|
439
|
+
parameters: {
|
|
440
|
+
query?: never;
|
|
441
|
+
header?: never;
|
|
442
|
+
path?: never;
|
|
443
|
+
cookie?: never;
|
|
444
|
+
};
|
|
445
|
+
get?: never;
|
|
446
|
+
put?: never;
|
|
447
|
+
post: operations["MigrationController_triggerMigration"];
|
|
448
|
+
delete?: never;
|
|
449
|
+
options?: never;
|
|
450
|
+
head?: never;
|
|
451
|
+
patch?: never;
|
|
452
|
+
trace?: never;
|
|
453
|
+
};
|
|
454
|
+
"/admin/migration/pending": {
|
|
455
|
+
parameters: {
|
|
456
|
+
query?: never;
|
|
457
|
+
header?: never;
|
|
458
|
+
path?: never;
|
|
459
|
+
cookie?: never;
|
|
460
|
+
};
|
|
461
|
+
get: operations["MigrationController_getPending"];
|
|
462
|
+
put?: never;
|
|
463
|
+
post?: never;
|
|
464
|
+
delete?: never;
|
|
465
|
+
options?: never;
|
|
466
|
+
head?: never;
|
|
467
|
+
patch?: never;
|
|
468
|
+
trace?: never;
|
|
469
|
+
};
|
|
470
|
+
"/admin/migration/rollback/{userId}": {
|
|
471
|
+
parameters: {
|
|
472
|
+
query?: never;
|
|
473
|
+
header?: never;
|
|
474
|
+
path?: never;
|
|
475
|
+
cookie?: never;
|
|
476
|
+
};
|
|
477
|
+
get?: never;
|
|
478
|
+
put?: never;
|
|
479
|
+
post: operations["MigrationController_rollbackUser"];
|
|
480
|
+
delete?: never;
|
|
481
|
+
options?: never;
|
|
482
|
+
head?: never;
|
|
483
|
+
patch?: never;
|
|
484
|
+
trace?: never;
|
|
485
|
+
};
|
|
486
|
+
"/hubspot/identification-token": {
|
|
487
|
+
parameters: {
|
|
488
|
+
query?: never;
|
|
489
|
+
header?: never;
|
|
490
|
+
path?: never;
|
|
491
|
+
cookie?: never;
|
|
492
|
+
};
|
|
493
|
+
get: operations["HubspotController_getIdentificationToken"];
|
|
494
|
+
put?: never;
|
|
495
|
+
post?: never;
|
|
496
|
+
delete?: never;
|
|
497
|
+
options?: never;
|
|
498
|
+
head?: never;
|
|
499
|
+
patch?: never;
|
|
500
|
+
trace?: never;
|
|
501
|
+
};
|
|
502
|
+
"/v1/user": {
|
|
503
|
+
parameters: {
|
|
504
|
+
query?: never;
|
|
505
|
+
header?: never;
|
|
506
|
+
path?: never;
|
|
507
|
+
cookie?: never;
|
|
508
|
+
};
|
|
509
|
+
/**
|
|
510
|
+
* Get user profile
|
|
511
|
+
* @description Returns the authenticated user's profile information including name and email.
|
|
512
|
+
*/
|
|
513
|
+
get: operations["getUser"];
|
|
514
|
+
put?: never;
|
|
515
|
+
post?: never;
|
|
516
|
+
delete?: never;
|
|
517
|
+
options?: never;
|
|
518
|
+
head?: never;
|
|
519
|
+
patch?: never;
|
|
520
|
+
trace?: never;
|
|
521
|
+
};
|
|
522
|
+
"/v1/balance": {
|
|
523
|
+
parameters: {
|
|
524
|
+
query?: never;
|
|
525
|
+
header?: never;
|
|
526
|
+
path?: never;
|
|
527
|
+
cookie?: never;
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* Get user balance
|
|
531
|
+
* @description Returns the authenticated user's current EdgeBoost balance.
|
|
532
|
+
*/
|
|
533
|
+
get: operations["getBalance"];
|
|
534
|
+
put?: never;
|
|
535
|
+
post?: never;
|
|
536
|
+
delete?: never;
|
|
537
|
+
options?: never;
|
|
538
|
+
head?: never;
|
|
539
|
+
patch?: never;
|
|
540
|
+
trace?: never;
|
|
541
|
+
};
|
|
542
|
+
"/v1/transfer": {
|
|
543
|
+
parameters: {
|
|
544
|
+
query?: never;
|
|
545
|
+
header?: never;
|
|
546
|
+
path?: never;
|
|
547
|
+
cookie?: never;
|
|
548
|
+
};
|
|
549
|
+
get?: never;
|
|
550
|
+
put?: never;
|
|
551
|
+
/**
|
|
552
|
+
* Initiate a transfer
|
|
553
|
+
* @description Initiates a fund transfer that requires OTP verification.
|
|
554
|
+
*
|
|
555
|
+
* **Transfer Types:**
|
|
556
|
+
* - `debit`: Pull funds FROM user's EdgeBoost TO partner (user deposits to partner platform)
|
|
557
|
+
* - `credit`: Push funds FROM partner TO user's EdgeBoost (user withdraws from partner platform)
|
|
558
|
+
*
|
|
559
|
+
* **Idempotency:**
|
|
560
|
+
* Use the `idempotencyKey` to safely retry requests. If a transfer with the same key exists, its current status will be returned.
|
|
561
|
+
*
|
|
562
|
+
* **OTP Verification:**
|
|
563
|
+
* After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verify` with the OTP to complete.
|
|
564
|
+
*/
|
|
565
|
+
post: operations["initiateTransfer"];
|
|
566
|
+
delete?: never;
|
|
567
|
+
options?: never;
|
|
568
|
+
head?: never;
|
|
569
|
+
patch?: never;
|
|
570
|
+
trace?: never;
|
|
571
|
+
};
|
|
572
|
+
"/v1/transfer/{transferId}": {
|
|
573
|
+
parameters: {
|
|
574
|
+
query?: never;
|
|
575
|
+
header?: never;
|
|
576
|
+
path?: never;
|
|
577
|
+
cookie?: never;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* Get transfer status
|
|
581
|
+
* @description Returns the current status of a transfer. Use this for polling after initiating a transfer.
|
|
582
|
+
*/
|
|
583
|
+
get: operations["getTransferStatus"];
|
|
584
|
+
put?: never;
|
|
585
|
+
post?: never;
|
|
586
|
+
delete?: never;
|
|
587
|
+
options?: never;
|
|
588
|
+
head?: never;
|
|
589
|
+
patch?: never;
|
|
590
|
+
trace?: never;
|
|
591
|
+
};
|
|
592
|
+
"/v1/transfers": {
|
|
593
|
+
parameters: {
|
|
594
|
+
query?: never;
|
|
595
|
+
header?: never;
|
|
596
|
+
path?: never;
|
|
597
|
+
cookie?: never;
|
|
598
|
+
};
|
|
599
|
+
/**
|
|
600
|
+
* List transfers
|
|
601
|
+
* @description Returns a paginated list of transfers for the authenticated user. Useful for reconciliation.
|
|
602
|
+
*/
|
|
603
|
+
get: operations["listTransfers"];
|
|
604
|
+
put?: never;
|
|
605
|
+
post?: never;
|
|
606
|
+
delete?: never;
|
|
607
|
+
options?: never;
|
|
608
|
+
head?: never;
|
|
609
|
+
patch?: never;
|
|
610
|
+
trace?: never;
|
|
611
|
+
};
|
|
612
|
+
"/v1/transfer/{transferId}/verify": {
|
|
613
|
+
parameters: {
|
|
614
|
+
query?: never;
|
|
615
|
+
header?: never;
|
|
616
|
+
path?: never;
|
|
617
|
+
cookie?: never;
|
|
618
|
+
};
|
|
619
|
+
get?: never;
|
|
620
|
+
put?: never;
|
|
621
|
+
/**
|
|
622
|
+
* Verify transfer with OTP
|
|
623
|
+
* @description Completes a pending transfer by verifying the one-time password.
|
|
624
|
+
*
|
|
625
|
+
* **OTP Methods:**
|
|
626
|
+
* - `sms`: User receives OTP via SMS
|
|
627
|
+
* - `totp`: User generates OTP from authenticator app
|
|
628
|
+
*
|
|
629
|
+
* The OTP method is indicated in the `otpMethod` field of the transfer response.
|
|
630
|
+
*/
|
|
631
|
+
post: operations["verifyTransfer"];
|
|
632
|
+
delete?: never;
|
|
633
|
+
options?: never;
|
|
634
|
+
head?: never;
|
|
635
|
+
patch?: never;
|
|
636
|
+
trace?: never;
|
|
637
|
+
};
|
|
638
|
+
"/v1/consent": {
|
|
639
|
+
parameters: {
|
|
640
|
+
query?: never;
|
|
641
|
+
header?: never;
|
|
642
|
+
path?: never;
|
|
643
|
+
cookie?: never;
|
|
644
|
+
};
|
|
645
|
+
get?: never;
|
|
646
|
+
put?: never;
|
|
647
|
+
post?: never;
|
|
648
|
+
/**
|
|
649
|
+
* Revoke user consent
|
|
650
|
+
* @description Revokes the user's consent for this partner application.
|
|
651
|
+
*
|
|
652
|
+
* After revocation:
|
|
653
|
+
* - All API calls will return `403 consent_required`
|
|
654
|
+
* - The user must re-authenticate and grant consent to restore access
|
|
655
|
+
* - Partners should implement this as a "disconnect" or "unlink" feature
|
|
656
|
+
*/
|
|
657
|
+
delete: operations["revokeConsent"];
|
|
658
|
+
options?: never;
|
|
659
|
+
head?: never;
|
|
660
|
+
patch?: never;
|
|
661
|
+
trace?: never;
|
|
662
|
+
};
|
|
663
|
+
"/oauth/consent": {
|
|
664
|
+
parameters: {
|
|
665
|
+
query?: never;
|
|
666
|
+
header?: never;
|
|
667
|
+
path?: never;
|
|
668
|
+
cookie?: never;
|
|
669
|
+
};
|
|
670
|
+
get: operations["ConsentController_showConsentPage"];
|
|
671
|
+
put?: never;
|
|
672
|
+
post: operations["ConsentController_handleConsentDecision"];
|
|
673
|
+
delete?: never;
|
|
674
|
+
options?: never;
|
|
675
|
+
head?: never;
|
|
676
|
+
patch?: never;
|
|
677
|
+
trace?: never;
|
|
678
|
+
};
|
|
679
|
+
"/api/v3/user/connected-apps": {
|
|
680
|
+
parameters: {
|
|
681
|
+
query?: never;
|
|
682
|
+
header?: never;
|
|
683
|
+
path?: never;
|
|
684
|
+
cookie?: never;
|
|
685
|
+
};
|
|
686
|
+
get: operations["ConnectedAppsController_getConnectedApps"];
|
|
687
|
+
put?: never;
|
|
688
|
+
post?: never;
|
|
689
|
+
delete?: never;
|
|
690
|
+
options?: never;
|
|
691
|
+
head?: never;
|
|
692
|
+
patch?: never;
|
|
693
|
+
trace?: never;
|
|
694
|
+
};
|
|
695
|
+
"/api/v3/user/connected-apps/{clientId}": {
|
|
696
|
+
parameters: {
|
|
697
|
+
query?: never;
|
|
698
|
+
header?: never;
|
|
699
|
+
path?: never;
|
|
700
|
+
cookie?: never;
|
|
701
|
+
};
|
|
702
|
+
get?: never;
|
|
703
|
+
put?: never;
|
|
704
|
+
post?: never;
|
|
705
|
+
delete: operations["ConnectedAppsController_revokeApp"];
|
|
706
|
+
options?: never;
|
|
707
|
+
head?: never;
|
|
708
|
+
patch?: never;
|
|
709
|
+
trace?: never;
|
|
710
|
+
};
|
|
711
|
+
"/health": {
|
|
712
|
+
parameters: {
|
|
713
|
+
query?: never;
|
|
714
|
+
header?: never;
|
|
715
|
+
path?: never;
|
|
716
|
+
cookie?: never;
|
|
717
|
+
};
|
|
718
|
+
get: operations["AppController_getHealth"];
|
|
719
|
+
put?: never;
|
|
720
|
+
post?: never;
|
|
721
|
+
delete?: never;
|
|
722
|
+
options?: never;
|
|
723
|
+
head?: never;
|
|
724
|
+
patch?: never;
|
|
725
|
+
trace?: never;
|
|
726
|
+
};
|
|
727
|
+
"/test": {
|
|
728
|
+
parameters: {
|
|
729
|
+
query?: never;
|
|
730
|
+
header?: never;
|
|
731
|
+
path?: never;
|
|
732
|
+
cookie?: never;
|
|
733
|
+
};
|
|
734
|
+
get: operations["TestController_getAll"];
|
|
735
|
+
put?: never;
|
|
736
|
+
post: operations["TestController_create"];
|
|
737
|
+
delete?: never;
|
|
738
|
+
options?: never;
|
|
739
|
+
head?: never;
|
|
740
|
+
patch?: never;
|
|
741
|
+
trace?: never;
|
|
742
|
+
};
|
|
743
|
+
"/test/{id}": {
|
|
744
|
+
parameters: {
|
|
745
|
+
query?: never;
|
|
746
|
+
header?: never;
|
|
747
|
+
path?: never;
|
|
748
|
+
cookie?: never;
|
|
749
|
+
};
|
|
750
|
+
get: operations["TestController_getById"];
|
|
751
|
+
put: operations["TestController_update"];
|
|
752
|
+
post?: never;
|
|
753
|
+
delete: operations["TestController_delete"];
|
|
754
|
+
options?: never;
|
|
755
|
+
head?: never;
|
|
756
|
+
patch?: never;
|
|
757
|
+
trace?: never;
|
|
758
|
+
};
|
|
759
|
+
"/test/legacy/data": {
|
|
760
|
+
parameters: {
|
|
761
|
+
query?: never;
|
|
762
|
+
header?: never;
|
|
763
|
+
path?: never;
|
|
764
|
+
cookie?: never;
|
|
765
|
+
};
|
|
766
|
+
get: operations["TestController_getLegacyData"];
|
|
767
|
+
put?: never;
|
|
768
|
+
post?: never;
|
|
769
|
+
delete?: never;
|
|
770
|
+
options?: never;
|
|
771
|
+
head?: never;
|
|
772
|
+
patch?: never;
|
|
773
|
+
trace?: never;
|
|
774
|
+
};
|
|
775
|
+
"/config-test": {
|
|
776
|
+
parameters: {
|
|
777
|
+
query?: never;
|
|
778
|
+
header?: never;
|
|
779
|
+
path?: never;
|
|
780
|
+
cookie?: never;
|
|
781
|
+
};
|
|
782
|
+
get: operations["ConfigTestController_getConfigInfo"];
|
|
783
|
+
put?: never;
|
|
784
|
+
post?: never;
|
|
785
|
+
delete?: never;
|
|
786
|
+
options?: never;
|
|
787
|
+
head?: never;
|
|
788
|
+
patch?: never;
|
|
789
|
+
trace?: never;
|
|
790
|
+
};
|
|
791
|
+
"/config-test/raw": {
|
|
792
|
+
parameters: {
|
|
793
|
+
query?: never;
|
|
794
|
+
header?: never;
|
|
795
|
+
path?: never;
|
|
796
|
+
cookie?: never;
|
|
797
|
+
};
|
|
798
|
+
get: operations["ConfigTestController_getRawConfigValues"];
|
|
799
|
+
put?: never;
|
|
800
|
+
post?: never;
|
|
801
|
+
delete?: never;
|
|
802
|
+
options?: never;
|
|
803
|
+
head?: never;
|
|
804
|
+
patch?: never;
|
|
805
|
+
trace?: never;
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
interface components {
|
|
809
|
+
schemas: {
|
|
810
|
+
RegisterDto: Record<string, never>;
|
|
811
|
+
VerifyEmailOTPDto: Record<string, never>;
|
|
812
|
+
AcceptTermsDto: Record<string, never>;
|
|
813
|
+
CompleteProfileDto: Record<string, never>;
|
|
814
|
+
UpdateSSNDto: Record<string, never>;
|
|
815
|
+
SetupMfaDto: Record<string, never>;
|
|
816
|
+
VerifyMfaSetupDto: Record<string, never>;
|
|
817
|
+
InitiateLoginDto: Record<string, never>;
|
|
818
|
+
VerifyLoginOTPDto: Record<string, never>;
|
|
819
|
+
VerifyMfaDto: Record<string, never>;
|
|
820
|
+
ResendEmailOTPDto: Record<string, never>;
|
|
821
|
+
ResendSMSMFADto: Record<string, never>;
|
|
822
|
+
RefreshTokenDto: Record<string, never>;
|
|
823
|
+
UpdateProfileDto: Record<string, never>;
|
|
824
|
+
FillAccountVIPDto: Record<string, never>;
|
|
825
|
+
LogoutDto: Record<string, never>;
|
|
826
|
+
CommitPinChangeBodyDto: Record<string, never>;
|
|
827
|
+
MarkUsersDto: Record<string, never>;
|
|
828
|
+
BatchValidationDto: Record<string, never>;
|
|
829
|
+
PreviewMigrationDto: Record<string, never>;
|
|
830
|
+
TriggerMigrationDto: Record<string, never>;
|
|
831
|
+
ErrorResponseDto: {
|
|
832
|
+
/**
|
|
833
|
+
* @description HTTP status code
|
|
834
|
+
* @example 400
|
|
835
|
+
*/
|
|
836
|
+
statusCode: number;
|
|
837
|
+
/**
|
|
838
|
+
* @description Error message
|
|
839
|
+
* @example Invalid transfer amount. Must be a positive number.
|
|
840
|
+
*/
|
|
841
|
+
message: string;
|
|
842
|
+
/**
|
|
843
|
+
* @description Error type/code for programmatic handling
|
|
844
|
+
* @example BAD_REQUEST
|
|
845
|
+
*/
|
|
846
|
+
error?: string;
|
|
847
|
+
};
|
|
848
|
+
ConsentRequiredErrorDto: {
|
|
849
|
+
/**
|
|
850
|
+
* @description HTTP status code
|
|
851
|
+
* @example 403
|
|
852
|
+
*/
|
|
853
|
+
statusCode: number;
|
|
854
|
+
/**
|
|
855
|
+
* @description Error message
|
|
856
|
+
* @example User consent required
|
|
857
|
+
*/
|
|
858
|
+
message: string;
|
|
859
|
+
/**
|
|
860
|
+
* @description Error code for programmatic handling
|
|
861
|
+
* @example consent_required
|
|
862
|
+
*/
|
|
863
|
+
error: string;
|
|
864
|
+
/**
|
|
865
|
+
* @description URL to redirect user for consent
|
|
866
|
+
* @example https://auth.edgeboost.com/oauth2/authorize?client_id=...
|
|
867
|
+
*/
|
|
868
|
+
consentUrl: string;
|
|
869
|
+
};
|
|
870
|
+
ConnectUserResponseDto: {
|
|
871
|
+
/**
|
|
872
|
+
* @description Unique user identifier
|
|
873
|
+
* @example 507f1f77bcf86cd799439011
|
|
874
|
+
*/
|
|
875
|
+
id: string;
|
|
876
|
+
/**
|
|
877
|
+
* @description User email address
|
|
878
|
+
* @example user@example.com
|
|
879
|
+
*/
|
|
880
|
+
email: string;
|
|
881
|
+
/**
|
|
882
|
+
* @description User first name
|
|
883
|
+
* @example John
|
|
884
|
+
*/
|
|
885
|
+
firstName: string;
|
|
886
|
+
/**
|
|
887
|
+
* @description User last name
|
|
888
|
+
* @example Doe
|
|
889
|
+
*/
|
|
890
|
+
lastName: string;
|
|
891
|
+
/**
|
|
892
|
+
* Format: date-time
|
|
893
|
+
* @description Account creation timestamp
|
|
894
|
+
* @example 2024-01-15T10:30:00.000Z
|
|
895
|
+
*/
|
|
896
|
+
createdAt: string;
|
|
897
|
+
};
|
|
898
|
+
ConnectBalanceResponseDto: {
|
|
899
|
+
/**
|
|
900
|
+
* @description User identifier
|
|
901
|
+
* @example 507f1f77bcf86cd799439011
|
|
902
|
+
*/
|
|
903
|
+
userId: string;
|
|
904
|
+
/**
|
|
905
|
+
* @description Available balance in USD
|
|
906
|
+
* @example 1250.5
|
|
907
|
+
*/
|
|
908
|
+
availableBalance: number;
|
|
909
|
+
/**
|
|
910
|
+
* @description Currency code (always USD)
|
|
911
|
+
* @example USD
|
|
912
|
+
*/
|
|
913
|
+
currency: string;
|
|
914
|
+
/**
|
|
915
|
+
* @description Timestamp when balance was fetched
|
|
916
|
+
* @example 2024-01-15T10:30:00.000Z
|
|
917
|
+
*/
|
|
918
|
+
asOf: string;
|
|
919
|
+
};
|
|
920
|
+
InitiateTransferRequestDto: {
|
|
921
|
+
/**
|
|
922
|
+
* @description Type of transfer
|
|
923
|
+
* @example debit
|
|
924
|
+
* @enum {string}
|
|
925
|
+
*/
|
|
926
|
+
type: "debit" | "credit";
|
|
927
|
+
/**
|
|
928
|
+
* @description Amount to transfer in USD (as string to preserve precision)
|
|
929
|
+
* @example 100.00
|
|
930
|
+
*/
|
|
931
|
+
amount: string;
|
|
932
|
+
/**
|
|
933
|
+
* @description Unique idempotency key to prevent duplicate transfers
|
|
934
|
+
* @example txn_abc123_20240115
|
|
935
|
+
*/
|
|
936
|
+
idempotencyKey: string;
|
|
937
|
+
};
|
|
938
|
+
TransferResponseDto: {
|
|
939
|
+
/**
|
|
940
|
+
* @description Unique transfer identifier
|
|
941
|
+
* @example a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
942
|
+
*/
|
|
943
|
+
transferId: string;
|
|
944
|
+
/**
|
|
945
|
+
* @description Current transfer status
|
|
946
|
+
* @example pending_verification
|
|
947
|
+
* @enum {string}
|
|
948
|
+
*/
|
|
949
|
+
status: "pending_verification" | "completed" | "failed" | "expired";
|
|
950
|
+
/**
|
|
951
|
+
* @description OTP method to use for verification (only present when status is pending_verification)
|
|
952
|
+
* @example sms
|
|
953
|
+
* @enum {string}
|
|
954
|
+
*/
|
|
955
|
+
otpMethod?: "sms" | "totp";
|
|
956
|
+
};
|
|
957
|
+
TransferListItemDto: {
|
|
958
|
+
/**
|
|
959
|
+
* @description Unique transfer identifier
|
|
960
|
+
* @example a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
961
|
+
*/
|
|
962
|
+
transferId: string;
|
|
963
|
+
/**
|
|
964
|
+
* @description Type of transfer
|
|
965
|
+
* @example debit
|
|
966
|
+
* @enum {string}
|
|
967
|
+
*/
|
|
968
|
+
type: "debit" | "credit";
|
|
969
|
+
/**
|
|
970
|
+
* @description Transfer amount in USD
|
|
971
|
+
* @example 100
|
|
972
|
+
*/
|
|
973
|
+
amount: number;
|
|
974
|
+
/**
|
|
975
|
+
* @description Current transfer status
|
|
976
|
+
* @example completed
|
|
977
|
+
* @enum {string}
|
|
978
|
+
*/
|
|
979
|
+
status: "pending_verification" | "completed" | "failed" | "expired";
|
|
980
|
+
/**
|
|
981
|
+
* Format: date-time
|
|
982
|
+
* @description Transfer creation timestamp
|
|
983
|
+
* @example 2024-01-15T10:30:00.000Z
|
|
984
|
+
*/
|
|
985
|
+
createdAt: string;
|
|
986
|
+
/**
|
|
987
|
+
* Format: date-time
|
|
988
|
+
* @description Transfer completion timestamp (if completed)
|
|
989
|
+
* @example 2024-01-15T10:35:00.000Z
|
|
990
|
+
*/
|
|
991
|
+
completedAt?: string;
|
|
992
|
+
};
|
|
993
|
+
ListTransfersResponseDto: {
|
|
994
|
+
/** @description Array of transfers */
|
|
995
|
+
transfers: components["schemas"]["TransferListItemDto"][];
|
|
996
|
+
/**
|
|
997
|
+
* @description Total number of transfers matching the query
|
|
998
|
+
* @example 42
|
|
999
|
+
*/
|
|
1000
|
+
total: number;
|
|
1001
|
+
};
|
|
1002
|
+
VerifyTransferRequestDto: {
|
|
1003
|
+
/**
|
|
1004
|
+
* @description One-time password for verification
|
|
1005
|
+
* @example 123456
|
|
1006
|
+
*/
|
|
1007
|
+
otp: string;
|
|
1008
|
+
};
|
|
1009
|
+
RevokeConsentResponseDto: {
|
|
1010
|
+
/**
|
|
1011
|
+
* @description Whether consent was successfully revoked
|
|
1012
|
+
* @example true
|
|
1013
|
+
*/
|
|
1014
|
+
revoked: boolean;
|
|
1015
|
+
};
|
|
1016
|
+
};
|
|
1017
|
+
responses: never;
|
|
1018
|
+
parameters: never;
|
|
1019
|
+
requestBodies: never;
|
|
1020
|
+
headers: never;
|
|
1021
|
+
pathItems: never;
|
|
1022
|
+
}
|
|
1023
|
+
interface operations {
|
|
1024
|
+
RegistrationController_register: {
|
|
1025
|
+
parameters: {
|
|
1026
|
+
query?: never;
|
|
1027
|
+
header?: never;
|
|
1028
|
+
path?: never;
|
|
1029
|
+
cookie?: never;
|
|
1030
|
+
};
|
|
1031
|
+
requestBody: {
|
|
1032
|
+
content: {
|
|
1033
|
+
"application/json": components["schemas"]["RegisterDto"];
|
|
1034
|
+
};
|
|
1035
|
+
};
|
|
1036
|
+
responses: {
|
|
1037
|
+
200: {
|
|
1038
|
+
headers: {
|
|
1039
|
+
[name: string]: unknown;
|
|
1040
|
+
};
|
|
1041
|
+
content?: never;
|
|
1042
|
+
};
|
|
1043
|
+
};
|
|
1044
|
+
};
|
|
1045
|
+
RegistrationController_verifyEmailOTP: {
|
|
1046
|
+
parameters: {
|
|
1047
|
+
query?: never;
|
|
1048
|
+
header?: never;
|
|
1049
|
+
path?: never;
|
|
1050
|
+
cookie?: never;
|
|
1051
|
+
};
|
|
1052
|
+
requestBody: {
|
|
1053
|
+
content: {
|
|
1054
|
+
"application/json": components["schemas"]["VerifyEmailOTPDto"];
|
|
1055
|
+
};
|
|
1056
|
+
};
|
|
1057
|
+
responses: {
|
|
1058
|
+
200: {
|
|
1059
|
+
headers: {
|
|
1060
|
+
[name: string]: unknown;
|
|
1061
|
+
};
|
|
1062
|
+
content?: never;
|
|
1063
|
+
};
|
|
1064
|
+
};
|
|
1065
|
+
};
|
|
1066
|
+
RegistrationController_acceptTerms: {
|
|
1067
|
+
parameters: {
|
|
1068
|
+
query?: never;
|
|
1069
|
+
header?: never;
|
|
1070
|
+
path?: never;
|
|
1071
|
+
cookie?: never;
|
|
1072
|
+
};
|
|
1073
|
+
requestBody: {
|
|
1074
|
+
content: {
|
|
1075
|
+
"application/json": components["schemas"]["AcceptTermsDto"];
|
|
1076
|
+
};
|
|
1077
|
+
};
|
|
1078
|
+
responses: {
|
|
1079
|
+
200: {
|
|
1080
|
+
headers: {
|
|
1081
|
+
[name: string]: unknown;
|
|
1082
|
+
};
|
|
1083
|
+
content?: never;
|
|
1084
|
+
};
|
|
1085
|
+
};
|
|
1086
|
+
};
|
|
1087
|
+
RegistrationController_completeProfile: {
|
|
1088
|
+
parameters: {
|
|
1089
|
+
query?: never;
|
|
1090
|
+
header?: never;
|
|
1091
|
+
path?: never;
|
|
1092
|
+
cookie?: never;
|
|
1093
|
+
};
|
|
1094
|
+
requestBody: {
|
|
1095
|
+
content: {
|
|
1096
|
+
"application/json": components["schemas"]["CompleteProfileDto"];
|
|
1097
|
+
};
|
|
1098
|
+
};
|
|
1099
|
+
responses: {
|
|
1100
|
+
200: {
|
|
1101
|
+
headers: {
|
|
1102
|
+
[name: string]: unknown;
|
|
1103
|
+
};
|
|
1104
|
+
content?: never;
|
|
1105
|
+
};
|
|
1106
|
+
};
|
|
1107
|
+
};
|
|
1108
|
+
RegistrationController_updateSSN: {
|
|
1109
|
+
parameters: {
|
|
1110
|
+
query?: never;
|
|
1111
|
+
header?: never;
|
|
1112
|
+
path?: never;
|
|
1113
|
+
cookie?: never;
|
|
1114
|
+
};
|
|
1115
|
+
requestBody: {
|
|
1116
|
+
content: {
|
|
1117
|
+
"application/json": components["schemas"]["UpdateSSNDto"];
|
|
1118
|
+
};
|
|
1119
|
+
};
|
|
1120
|
+
responses: {
|
|
1121
|
+
200: {
|
|
1122
|
+
headers: {
|
|
1123
|
+
[name: string]: unknown;
|
|
1124
|
+
};
|
|
1125
|
+
content?: never;
|
|
1126
|
+
};
|
|
1127
|
+
};
|
|
1128
|
+
};
|
|
1129
|
+
MFASetupController_setupMFA: {
|
|
1130
|
+
parameters: {
|
|
1131
|
+
query?: never;
|
|
1132
|
+
header?: never;
|
|
1133
|
+
path?: never;
|
|
1134
|
+
cookie?: never;
|
|
1135
|
+
};
|
|
1136
|
+
requestBody: {
|
|
1137
|
+
content: {
|
|
1138
|
+
"application/json": components["schemas"]["SetupMfaDto"];
|
|
1139
|
+
};
|
|
1140
|
+
};
|
|
1141
|
+
responses: {
|
|
1142
|
+
200: {
|
|
1143
|
+
headers: {
|
|
1144
|
+
[name: string]: unknown;
|
|
1145
|
+
};
|
|
1146
|
+
content?: never;
|
|
1147
|
+
};
|
|
1148
|
+
};
|
|
1149
|
+
};
|
|
1150
|
+
MFASetupController_resendSMSSetup: {
|
|
1151
|
+
parameters: {
|
|
1152
|
+
query?: never;
|
|
1153
|
+
header?: never;
|
|
1154
|
+
path?: never;
|
|
1155
|
+
cookie?: never;
|
|
1156
|
+
};
|
|
1157
|
+
requestBody?: never;
|
|
1158
|
+
responses: {
|
|
1159
|
+
200: {
|
|
1160
|
+
headers: {
|
|
1161
|
+
[name: string]: unknown;
|
|
1162
|
+
};
|
|
1163
|
+
content?: never;
|
|
1164
|
+
};
|
|
1165
|
+
};
|
|
1166
|
+
};
|
|
1167
|
+
MFASetupController_verifyAuthenticatorSetup: {
|
|
1168
|
+
parameters: {
|
|
1169
|
+
query?: never;
|
|
1170
|
+
header?: never;
|
|
1171
|
+
path?: never;
|
|
1172
|
+
cookie?: never;
|
|
1173
|
+
};
|
|
1174
|
+
requestBody: {
|
|
1175
|
+
content: {
|
|
1176
|
+
"application/json": components["schemas"]["VerifyMfaSetupDto"];
|
|
1177
|
+
};
|
|
1178
|
+
};
|
|
1179
|
+
responses: {
|
|
1180
|
+
200: {
|
|
1181
|
+
headers: {
|
|
1182
|
+
[name: string]: unknown;
|
|
1183
|
+
};
|
|
1184
|
+
content?: never;
|
|
1185
|
+
};
|
|
1186
|
+
};
|
|
1187
|
+
};
|
|
1188
|
+
MFASetupController_verifySMSSetup: {
|
|
1189
|
+
parameters: {
|
|
1190
|
+
query?: never;
|
|
1191
|
+
header?: never;
|
|
1192
|
+
path?: never;
|
|
1193
|
+
cookie?: never;
|
|
1194
|
+
};
|
|
1195
|
+
requestBody: {
|
|
1196
|
+
content: {
|
|
1197
|
+
"application/json": components["schemas"]["VerifyMfaSetupDto"];
|
|
1198
|
+
};
|
|
1199
|
+
};
|
|
1200
|
+
responses: {
|
|
1201
|
+
200: {
|
|
1202
|
+
headers: {
|
|
1203
|
+
[name: string]: unknown;
|
|
1204
|
+
};
|
|
1205
|
+
content?: never;
|
|
1206
|
+
};
|
|
1207
|
+
};
|
|
1208
|
+
};
|
|
1209
|
+
LoginController_login: {
|
|
1210
|
+
parameters: {
|
|
1211
|
+
query?: never;
|
|
1212
|
+
header?: never;
|
|
1213
|
+
path?: never;
|
|
1214
|
+
cookie?: never;
|
|
1215
|
+
};
|
|
1216
|
+
requestBody: {
|
|
1217
|
+
content: {
|
|
1218
|
+
"application/json": components["schemas"]["InitiateLoginDto"];
|
|
1219
|
+
};
|
|
1220
|
+
};
|
|
1221
|
+
responses: {
|
|
1222
|
+
200: {
|
|
1223
|
+
headers: {
|
|
1224
|
+
[name: string]: unknown;
|
|
1225
|
+
};
|
|
1226
|
+
content?: never;
|
|
1227
|
+
};
|
|
1228
|
+
};
|
|
1229
|
+
};
|
|
1230
|
+
LoginController_verifyLoginOTP: {
|
|
1231
|
+
parameters: {
|
|
1232
|
+
query?: never;
|
|
1233
|
+
header?: never;
|
|
1234
|
+
path?: never;
|
|
1235
|
+
cookie?: never;
|
|
1236
|
+
};
|
|
1237
|
+
requestBody: {
|
|
1238
|
+
content: {
|
|
1239
|
+
"application/json": components["schemas"]["VerifyLoginOTPDto"];
|
|
1240
|
+
};
|
|
1241
|
+
};
|
|
1242
|
+
responses: {
|
|
1243
|
+
200: {
|
|
1244
|
+
headers: {
|
|
1245
|
+
[name: string]: unknown;
|
|
1246
|
+
};
|
|
1247
|
+
content?: never;
|
|
1248
|
+
};
|
|
1249
|
+
};
|
|
1250
|
+
};
|
|
1251
|
+
LoginController_verifyMFA: {
|
|
1252
|
+
parameters: {
|
|
1253
|
+
query?: never;
|
|
1254
|
+
header?: never;
|
|
1255
|
+
path?: never;
|
|
1256
|
+
cookie?: never;
|
|
1257
|
+
};
|
|
1258
|
+
requestBody: {
|
|
1259
|
+
content: {
|
|
1260
|
+
"application/json": components["schemas"]["VerifyMfaDto"];
|
|
1261
|
+
};
|
|
1262
|
+
};
|
|
1263
|
+
responses: {
|
|
1264
|
+
200: {
|
|
1265
|
+
headers: {
|
|
1266
|
+
[name: string]: unknown;
|
|
1267
|
+
};
|
|
1268
|
+
content?: never;
|
|
1269
|
+
};
|
|
1270
|
+
};
|
|
1271
|
+
};
|
|
1272
|
+
LoginController_resendEmailOTP: {
|
|
1273
|
+
parameters: {
|
|
1274
|
+
query?: never;
|
|
1275
|
+
header?: never;
|
|
1276
|
+
path?: never;
|
|
1277
|
+
cookie?: never;
|
|
1278
|
+
};
|
|
1279
|
+
requestBody: {
|
|
1280
|
+
content: {
|
|
1281
|
+
"application/json": components["schemas"]["ResendEmailOTPDto"];
|
|
1282
|
+
};
|
|
1283
|
+
};
|
|
1284
|
+
responses: {
|
|
1285
|
+
200: {
|
|
1286
|
+
headers: {
|
|
1287
|
+
[name: string]: unknown;
|
|
1288
|
+
};
|
|
1289
|
+
content?: never;
|
|
1290
|
+
};
|
|
1291
|
+
};
|
|
1292
|
+
};
|
|
1293
|
+
LoginController_resendSMSMFA: {
|
|
1294
|
+
parameters: {
|
|
1295
|
+
query?: never;
|
|
1296
|
+
header?: never;
|
|
1297
|
+
path?: never;
|
|
1298
|
+
cookie?: never;
|
|
1299
|
+
};
|
|
1300
|
+
requestBody: {
|
|
1301
|
+
content: {
|
|
1302
|
+
"application/json": components["schemas"]["ResendSMSMFADto"];
|
|
1303
|
+
};
|
|
1304
|
+
};
|
|
1305
|
+
responses: {
|
|
1306
|
+
200: {
|
|
1307
|
+
headers: {
|
|
1308
|
+
[name: string]: unknown;
|
|
1309
|
+
};
|
|
1310
|
+
content?: never;
|
|
1311
|
+
};
|
|
1312
|
+
};
|
|
1313
|
+
};
|
|
1314
|
+
LoginController_refreshToken: {
|
|
1315
|
+
parameters: {
|
|
1316
|
+
query?: never;
|
|
1317
|
+
header?: never;
|
|
1318
|
+
path?: never;
|
|
1319
|
+
cookie?: never;
|
|
1320
|
+
};
|
|
1321
|
+
requestBody: {
|
|
1322
|
+
content: {
|
|
1323
|
+
"application/json": components["schemas"]["RefreshTokenDto"];
|
|
1324
|
+
};
|
|
1325
|
+
};
|
|
1326
|
+
responses: {
|
|
1327
|
+
200: {
|
|
1328
|
+
headers: {
|
|
1329
|
+
[name: string]: unknown;
|
|
1330
|
+
};
|
|
1331
|
+
content?: never;
|
|
1332
|
+
};
|
|
1333
|
+
};
|
|
1334
|
+
};
|
|
1335
|
+
LoginController_debugIp: {
|
|
1336
|
+
parameters: {
|
|
1337
|
+
query?: never;
|
|
1338
|
+
header?: never;
|
|
1339
|
+
path?: never;
|
|
1340
|
+
cookie?: never;
|
|
1341
|
+
};
|
|
1342
|
+
requestBody?: never;
|
|
1343
|
+
responses: {
|
|
1344
|
+
200: {
|
|
1345
|
+
headers: {
|
|
1346
|
+
[name: string]: unknown;
|
|
1347
|
+
};
|
|
1348
|
+
content?: never;
|
|
1349
|
+
};
|
|
1350
|
+
};
|
|
1351
|
+
};
|
|
1352
|
+
ProfileController_getProfile: {
|
|
1353
|
+
parameters: {
|
|
1354
|
+
query?: never;
|
|
1355
|
+
header?: never;
|
|
1356
|
+
path?: never;
|
|
1357
|
+
cookie?: never;
|
|
1358
|
+
};
|
|
1359
|
+
requestBody?: never;
|
|
1360
|
+
responses: {
|
|
1361
|
+
200: {
|
|
1362
|
+
headers: {
|
|
1363
|
+
[name: string]: unknown;
|
|
1364
|
+
};
|
|
1365
|
+
content?: never;
|
|
1366
|
+
};
|
|
1367
|
+
};
|
|
1368
|
+
};
|
|
1369
|
+
ProfileController_updateProfile: {
|
|
1370
|
+
parameters: {
|
|
1371
|
+
query?: never;
|
|
1372
|
+
header?: never;
|
|
1373
|
+
path?: never;
|
|
1374
|
+
cookie?: never;
|
|
1375
|
+
};
|
|
1376
|
+
requestBody: {
|
|
1377
|
+
content: {
|
|
1378
|
+
"application/json": components["schemas"]["UpdateProfileDto"];
|
|
1379
|
+
};
|
|
1380
|
+
};
|
|
1381
|
+
responses: {
|
|
1382
|
+
200: {
|
|
1383
|
+
headers: {
|
|
1384
|
+
[name: string]: unknown;
|
|
1385
|
+
};
|
|
1386
|
+
content?: never;
|
|
1387
|
+
};
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
ProfileController_fillAccountVIP: {
|
|
1391
|
+
parameters: {
|
|
1392
|
+
query?: never;
|
|
1393
|
+
header?: never;
|
|
1394
|
+
path?: never;
|
|
1395
|
+
cookie?: never;
|
|
1396
|
+
};
|
|
1397
|
+
requestBody: {
|
|
1398
|
+
content: {
|
|
1399
|
+
"application/json": components["schemas"]["FillAccountVIPDto"];
|
|
1400
|
+
};
|
|
1401
|
+
};
|
|
1402
|
+
responses: {
|
|
1403
|
+
200: {
|
|
1404
|
+
headers: {
|
|
1405
|
+
[name: string]: unknown;
|
|
1406
|
+
};
|
|
1407
|
+
content?: never;
|
|
1408
|
+
};
|
|
1409
|
+
};
|
|
1410
|
+
};
|
|
1411
|
+
LogoutController_logout: {
|
|
1412
|
+
parameters: {
|
|
1413
|
+
query?: never;
|
|
1414
|
+
header?: never;
|
|
1415
|
+
path?: never;
|
|
1416
|
+
cookie?: never;
|
|
1417
|
+
};
|
|
1418
|
+
requestBody: {
|
|
1419
|
+
content: {
|
|
1420
|
+
"application/json": components["schemas"]["LogoutDto"];
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
responses: {
|
|
1424
|
+
200: {
|
|
1425
|
+
headers: {
|
|
1426
|
+
[name: string]: unknown;
|
|
1427
|
+
};
|
|
1428
|
+
content?: never;
|
|
1429
|
+
};
|
|
1430
|
+
};
|
|
1431
|
+
};
|
|
1432
|
+
VGSController_pingGalileo: {
|
|
1433
|
+
parameters: {
|
|
1434
|
+
query?: never;
|
|
1435
|
+
header?: never;
|
|
1436
|
+
path?: never;
|
|
1437
|
+
cookie?: never;
|
|
1438
|
+
};
|
|
1439
|
+
requestBody?: never;
|
|
1440
|
+
responses: {
|
|
1441
|
+
200: {
|
|
1442
|
+
headers: {
|
|
1443
|
+
[name: string]: unknown;
|
|
1444
|
+
};
|
|
1445
|
+
content?: never;
|
|
1446
|
+
};
|
|
1447
|
+
};
|
|
1448
|
+
};
|
|
1449
|
+
VGSController_getCardDetails: {
|
|
1450
|
+
parameters: {
|
|
1451
|
+
query?: never;
|
|
1452
|
+
header?: never;
|
|
1453
|
+
path?: never;
|
|
1454
|
+
cookie?: never;
|
|
1455
|
+
};
|
|
1456
|
+
requestBody?: never;
|
|
1457
|
+
responses: {
|
|
1458
|
+
200: {
|
|
1459
|
+
headers: {
|
|
1460
|
+
[name: string]: unknown;
|
|
1461
|
+
};
|
|
1462
|
+
content?: never;
|
|
1463
|
+
};
|
|
1464
|
+
};
|
|
1465
|
+
};
|
|
1466
|
+
VGSController_getPinChangeKey: {
|
|
1467
|
+
parameters: {
|
|
1468
|
+
query?: never;
|
|
1469
|
+
header?: never;
|
|
1470
|
+
path?: never;
|
|
1471
|
+
cookie?: never;
|
|
1472
|
+
};
|
|
1473
|
+
requestBody?: never;
|
|
1474
|
+
responses: {
|
|
1475
|
+
200: {
|
|
1476
|
+
headers: {
|
|
1477
|
+
[name: string]: unknown;
|
|
1478
|
+
};
|
|
1479
|
+
content?: never;
|
|
1480
|
+
};
|
|
1481
|
+
};
|
|
1482
|
+
};
|
|
1483
|
+
VGSController_commitPinChange: {
|
|
1484
|
+
parameters: {
|
|
1485
|
+
query?: never;
|
|
1486
|
+
header?: never;
|
|
1487
|
+
path?: never;
|
|
1488
|
+
cookie?: never;
|
|
1489
|
+
};
|
|
1490
|
+
requestBody: {
|
|
1491
|
+
content: {
|
|
1492
|
+
"application/json": components["schemas"]["CommitPinChangeBodyDto"];
|
|
1493
|
+
};
|
|
1494
|
+
};
|
|
1495
|
+
responses: {
|
|
1496
|
+
200: {
|
|
1497
|
+
headers: {
|
|
1498
|
+
[name: string]: unknown;
|
|
1499
|
+
};
|
|
1500
|
+
content?: never;
|
|
1501
|
+
};
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
MigrationController_getStatus: {
|
|
1505
|
+
parameters: {
|
|
1506
|
+
query?: never;
|
|
1507
|
+
header?: never;
|
|
1508
|
+
path?: never;
|
|
1509
|
+
cookie?: never;
|
|
1510
|
+
};
|
|
1511
|
+
requestBody?: never;
|
|
1512
|
+
responses: {
|
|
1513
|
+
200: {
|
|
1514
|
+
headers: {
|
|
1515
|
+
[name: string]: unknown;
|
|
1516
|
+
};
|
|
1517
|
+
content?: never;
|
|
1518
|
+
};
|
|
1519
|
+
};
|
|
1520
|
+
};
|
|
1521
|
+
MigrationController_markUsers: {
|
|
1522
|
+
parameters: {
|
|
1523
|
+
query?: never;
|
|
1524
|
+
header?: never;
|
|
1525
|
+
path?: never;
|
|
1526
|
+
cookie?: never;
|
|
1527
|
+
};
|
|
1528
|
+
requestBody: {
|
|
1529
|
+
content: {
|
|
1530
|
+
"application/json": components["schemas"]["MarkUsersDto"];
|
|
1531
|
+
};
|
|
1532
|
+
};
|
|
1533
|
+
responses: {
|
|
1534
|
+
201: {
|
|
1535
|
+
headers: {
|
|
1536
|
+
[name: string]: unknown;
|
|
1537
|
+
};
|
|
1538
|
+
content?: never;
|
|
1539
|
+
};
|
|
1540
|
+
};
|
|
1541
|
+
};
|
|
1542
|
+
MigrationController_validateUsers: {
|
|
1543
|
+
parameters: {
|
|
1544
|
+
query?: never;
|
|
1545
|
+
header?: never;
|
|
1546
|
+
path?: never;
|
|
1547
|
+
cookie?: never;
|
|
1548
|
+
};
|
|
1549
|
+
requestBody: {
|
|
1550
|
+
content: {
|
|
1551
|
+
"application/json": components["schemas"]["BatchValidationDto"];
|
|
1552
|
+
};
|
|
1553
|
+
};
|
|
1554
|
+
responses: {
|
|
1555
|
+
201: {
|
|
1556
|
+
headers: {
|
|
1557
|
+
[name: string]: unknown;
|
|
1558
|
+
};
|
|
1559
|
+
content?: never;
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
};
|
|
1563
|
+
MigrationController_preview: {
|
|
1564
|
+
parameters: {
|
|
1565
|
+
query?: never;
|
|
1566
|
+
header?: never;
|
|
1567
|
+
path?: never;
|
|
1568
|
+
cookie?: never;
|
|
1569
|
+
};
|
|
1570
|
+
requestBody: {
|
|
1571
|
+
content: {
|
|
1572
|
+
"application/json": components["schemas"]["PreviewMigrationDto"];
|
|
1573
|
+
};
|
|
1574
|
+
};
|
|
1575
|
+
responses: {
|
|
1576
|
+
201: {
|
|
1577
|
+
headers: {
|
|
1578
|
+
[name: string]: unknown;
|
|
1579
|
+
};
|
|
1580
|
+
content?: never;
|
|
1581
|
+
};
|
|
1582
|
+
};
|
|
1583
|
+
};
|
|
1584
|
+
MigrationController_triggerMigration: {
|
|
1585
|
+
parameters: {
|
|
1586
|
+
query?: never;
|
|
1587
|
+
header?: never;
|
|
1588
|
+
path?: never;
|
|
1589
|
+
cookie?: never;
|
|
1590
|
+
};
|
|
1591
|
+
requestBody: {
|
|
1592
|
+
content: {
|
|
1593
|
+
"application/json": components["schemas"]["TriggerMigrationDto"];
|
|
1594
|
+
};
|
|
1595
|
+
};
|
|
1596
|
+
responses: {
|
|
1597
|
+
201: {
|
|
1598
|
+
headers: {
|
|
1599
|
+
[name: string]: unknown;
|
|
1600
|
+
};
|
|
1601
|
+
content?: never;
|
|
1602
|
+
};
|
|
1603
|
+
};
|
|
1604
|
+
};
|
|
1605
|
+
MigrationController_getPending: {
|
|
1606
|
+
parameters: {
|
|
1607
|
+
query: {
|
|
1608
|
+
limit: number;
|
|
1609
|
+
offset: number;
|
|
1610
|
+
};
|
|
1611
|
+
header?: never;
|
|
1612
|
+
path?: never;
|
|
1613
|
+
cookie?: never;
|
|
1614
|
+
};
|
|
1615
|
+
requestBody?: never;
|
|
1616
|
+
responses: {
|
|
1617
|
+
200: {
|
|
1618
|
+
headers: {
|
|
1619
|
+
[name: string]: unknown;
|
|
1620
|
+
};
|
|
1621
|
+
content?: never;
|
|
1622
|
+
};
|
|
1623
|
+
};
|
|
1624
|
+
};
|
|
1625
|
+
MigrationController_rollbackUser: {
|
|
1626
|
+
parameters: {
|
|
1627
|
+
query?: never;
|
|
1628
|
+
header?: never;
|
|
1629
|
+
path: {
|
|
1630
|
+
userId: string;
|
|
1631
|
+
};
|
|
1632
|
+
cookie?: never;
|
|
1633
|
+
};
|
|
1634
|
+
requestBody?: never;
|
|
1635
|
+
responses: {
|
|
1636
|
+
201: {
|
|
1637
|
+
headers: {
|
|
1638
|
+
[name: string]: unknown;
|
|
1639
|
+
};
|
|
1640
|
+
content?: never;
|
|
1641
|
+
};
|
|
1642
|
+
};
|
|
1643
|
+
};
|
|
1644
|
+
HubspotController_getIdentificationToken: {
|
|
1645
|
+
parameters: {
|
|
1646
|
+
query?: never;
|
|
1647
|
+
header?: never;
|
|
1648
|
+
path?: never;
|
|
1649
|
+
cookie?: never;
|
|
1650
|
+
};
|
|
1651
|
+
requestBody?: never;
|
|
1652
|
+
responses: {
|
|
1653
|
+
200: {
|
|
1654
|
+
headers: {
|
|
1655
|
+
[name: string]: unknown;
|
|
1656
|
+
};
|
|
1657
|
+
content?: never;
|
|
1658
|
+
};
|
|
1659
|
+
};
|
|
1660
|
+
};
|
|
1661
|
+
getUser: {
|
|
1662
|
+
parameters: {
|
|
1663
|
+
query?: never;
|
|
1664
|
+
header?: never;
|
|
1665
|
+
path?: never;
|
|
1666
|
+
cookie?: never;
|
|
1667
|
+
};
|
|
1668
|
+
requestBody?: never;
|
|
1669
|
+
responses: {
|
|
1670
|
+
/** @description User profile retrieved successfully */
|
|
1671
|
+
200: {
|
|
1672
|
+
headers: {
|
|
1673
|
+
[name: string]: unknown;
|
|
1674
|
+
};
|
|
1675
|
+
content: {
|
|
1676
|
+
"application/json": components["schemas"]["ConnectUserResponseDto"];
|
|
1677
|
+
};
|
|
1678
|
+
};
|
|
1679
|
+
/** @description Invalid or expired access token */
|
|
1680
|
+
401: {
|
|
1681
|
+
headers: {
|
|
1682
|
+
[name: string]: unknown;
|
|
1683
|
+
};
|
|
1684
|
+
content: {
|
|
1685
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1686
|
+
};
|
|
1687
|
+
};
|
|
1688
|
+
/** @description User consent required or insufficient scope */
|
|
1689
|
+
403: {
|
|
1690
|
+
headers: {
|
|
1691
|
+
[name: string]: unknown;
|
|
1692
|
+
};
|
|
1693
|
+
content: {
|
|
1694
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1695
|
+
};
|
|
1696
|
+
};
|
|
1697
|
+
};
|
|
1698
|
+
};
|
|
1699
|
+
getBalance: {
|
|
1700
|
+
parameters: {
|
|
1701
|
+
query?: never;
|
|
1702
|
+
header?: never;
|
|
1703
|
+
path?: never;
|
|
1704
|
+
cookie?: never;
|
|
1705
|
+
};
|
|
1706
|
+
requestBody?: never;
|
|
1707
|
+
responses: {
|
|
1708
|
+
/** @description Balance retrieved successfully */
|
|
1709
|
+
200: {
|
|
1710
|
+
headers: {
|
|
1711
|
+
[name: string]: unknown;
|
|
1712
|
+
};
|
|
1713
|
+
content: {
|
|
1714
|
+
"application/json": components["schemas"]["ConnectBalanceResponseDto"];
|
|
1715
|
+
};
|
|
1716
|
+
};
|
|
1717
|
+
/** @description Invalid or expired access token */
|
|
1718
|
+
401: {
|
|
1719
|
+
headers: {
|
|
1720
|
+
[name: string]: unknown;
|
|
1721
|
+
};
|
|
1722
|
+
content: {
|
|
1723
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1724
|
+
};
|
|
1725
|
+
};
|
|
1726
|
+
/** @description User consent required or insufficient scope */
|
|
1727
|
+
403: {
|
|
1728
|
+
headers: {
|
|
1729
|
+
[name: string]: unknown;
|
|
1730
|
+
};
|
|
1731
|
+
content: {
|
|
1732
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1733
|
+
};
|
|
1734
|
+
};
|
|
1735
|
+
};
|
|
1736
|
+
};
|
|
1737
|
+
initiateTransfer: {
|
|
1738
|
+
parameters: {
|
|
1739
|
+
query?: never;
|
|
1740
|
+
header?: never;
|
|
1741
|
+
path?: never;
|
|
1742
|
+
cookie?: never;
|
|
1743
|
+
};
|
|
1744
|
+
requestBody: {
|
|
1745
|
+
content: {
|
|
1746
|
+
"application/json": components["schemas"]["InitiateTransferRequestDto"];
|
|
1747
|
+
};
|
|
1748
|
+
};
|
|
1749
|
+
responses: {
|
|
1750
|
+
/** @description Transfer initiated, pending OTP verification */
|
|
1751
|
+
201: {
|
|
1752
|
+
headers: {
|
|
1753
|
+
[name: string]: unknown;
|
|
1754
|
+
};
|
|
1755
|
+
content: {
|
|
1756
|
+
"application/json": components["schemas"]["TransferResponseDto"];
|
|
1757
|
+
};
|
|
1758
|
+
};
|
|
1759
|
+
/** @description Invalid request (amount, balance, etc.) */
|
|
1760
|
+
400: {
|
|
1761
|
+
headers: {
|
|
1762
|
+
[name: string]: unknown;
|
|
1763
|
+
};
|
|
1764
|
+
content: {
|
|
1765
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1766
|
+
};
|
|
1767
|
+
};
|
|
1768
|
+
/** @description Invalid or expired access token */
|
|
1769
|
+
401: {
|
|
1770
|
+
headers: {
|
|
1771
|
+
[name: string]: unknown;
|
|
1772
|
+
};
|
|
1773
|
+
content: {
|
|
1774
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1775
|
+
};
|
|
1776
|
+
};
|
|
1777
|
+
/** @description User consent required or insufficient scope */
|
|
1778
|
+
403: {
|
|
1779
|
+
headers: {
|
|
1780
|
+
[name: string]: unknown;
|
|
1781
|
+
};
|
|
1782
|
+
content: {
|
|
1783
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1784
|
+
};
|
|
1785
|
+
};
|
|
1786
|
+
};
|
|
1787
|
+
};
|
|
1788
|
+
getTransferStatus: {
|
|
1789
|
+
parameters: {
|
|
1790
|
+
query?: never;
|
|
1791
|
+
header?: never;
|
|
1792
|
+
path: {
|
|
1793
|
+
/** @description The unique transfer identifier returned from initiate */
|
|
1794
|
+
transferId: string;
|
|
1795
|
+
};
|
|
1796
|
+
cookie?: never;
|
|
1797
|
+
};
|
|
1798
|
+
requestBody?: never;
|
|
1799
|
+
responses: {
|
|
1800
|
+
/** @description Transfer status retrieved successfully */
|
|
1801
|
+
200: {
|
|
1802
|
+
headers: {
|
|
1803
|
+
[name: string]: unknown;
|
|
1804
|
+
};
|
|
1805
|
+
content: {
|
|
1806
|
+
"application/json": components["schemas"]["TransferResponseDto"];
|
|
1807
|
+
};
|
|
1808
|
+
};
|
|
1809
|
+
/** @description Invalid or expired access token */
|
|
1810
|
+
401: {
|
|
1811
|
+
headers: {
|
|
1812
|
+
[name: string]: unknown;
|
|
1813
|
+
};
|
|
1814
|
+
content: {
|
|
1815
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1816
|
+
};
|
|
1817
|
+
};
|
|
1818
|
+
/** @description User consent required or insufficient scope */
|
|
1819
|
+
403: {
|
|
1820
|
+
headers: {
|
|
1821
|
+
[name: string]: unknown;
|
|
1822
|
+
};
|
|
1823
|
+
content: {
|
|
1824
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
/** @description Transfer not found */
|
|
1828
|
+
404: {
|
|
1829
|
+
headers: {
|
|
1830
|
+
[name: string]: unknown;
|
|
1831
|
+
};
|
|
1832
|
+
content: {
|
|
1833
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1834
|
+
};
|
|
1835
|
+
};
|
|
1836
|
+
};
|
|
1837
|
+
};
|
|
1838
|
+
listTransfers: {
|
|
1839
|
+
parameters: {
|
|
1840
|
+
query?: {
|
|
1841
|
+
/** @description Maximum number of transfers to return */
|
|
1842
|
+
limit?: number;
|
|
1843
|
+
/** @description Number of transfers to skip (for pagination) */
|
|
1844
|
+
offset?: number;
|
|
1845
|
+
/** @description Filter by transfer status */
|
|
1846
|
+
status?: "pending_verification" | "completed" | "failed" | "expired";
|
|
1847
|
+
};
|
|
1848
|
+
header?: never;
|
|
1849
|
+
path?: never;
|
|
1850
|
+
cookie?: never;
|
|
1851
|
+
};
|
|
1852
|
+
requestBody?: never;
|
|
1853
|
+
responses: {
|
|
1854
|
+
/** @description Transfers retrieved successfully */
|
|
1855
|
+
200: {
|
|
1856
|
+
headers: {
|
|
1857
|
+
[name: string]: unknown;
|
|
1858
|
+
};
|
|
1859
|
+
content: {
|
|
1860
|
+
"application/json": components["schemas"]["ListTransfersResponseDto"];
|
|
1861
|
+
};
|
|
1862
|
+
};
|
|
1863
|
+
/** @description Invalid or expired access token */
|
|
1864
|
+
401: {
|
|
1865
|
+
headers: {
|
|
1866
|
+
[name: string]: unknown;
|
|
1867
|
+
};
|
|
1868
|
+
content: {
|
|
1869
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1870
|
+
};
|
|
1871
|
+
};
|
|
1872
|
+
/** @description User consent required or insufficient scope */
|
|
1873
|
+
403: {
|
|
1874
|
+
headers: {
|
|
1875
|
+
[name: string]: unknown;
|
|
1876
|
+
};
|
|
1877
|
+
content: {
|
|
1878
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1879
|
+
};
|
|
1880
|
+
};
|
|
1881
|
+
};
|
|
1882
|
+
};
|
|
1883
|
+
verifyTransfer: {
|
|
1884
|
+
parameters: {
|
|
1885
|
+
query?: never;
|
|
1886
|
+
header?: never;
|
|
1887
|
+
path: {
|
|
1888
|
+
/** @description The unique transfer identifier */
|
|
1889
|
+
transferId: string;
|
|
1890
|
+
};
|
|
1891
|
+
cookie?: never;
|
|
1892
|
+
};
|
|
1893
|
+
requestBody: {
|
|
1894
|
+
content: {
|
|
1895
|
+
"application/json": components["schemas"]["VerifyTransferRequestDto"];
|
|
1896
|
+
};
|
|
1897
|
+
};
|
|
1898
|
+
responses: {
|
|
1899
|
+
/** @description Transfer verified and completed (or failed) */
|
|
1900
|
+
200: {
|
|
1901
|
+
headers: {
|
|
1902
|
+
[name: string]: unknown;
|
|
1903
|
+
};
|
|
1904
|
+
content: {
|
|
1905
|
+
"application/json": components["schemas"]["TransferResponseDto"];
|
|
1906
|
+
};
|
|
1907
|
+
};
|
|
1908
|
+
/** @description Invalid OTP or transfer expired */
|
|
1909
|
+
400: {
|
|
1910
|
+
headers: {
|
|
1911
|
+
[name: string]: unknown;
|
|
1912
|
+
};
|
|
1913
|
+
content: {
|
|
1914
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1915
|
+
};
|
|
1916
|
+
};
|
|
1917
|
+
/** @description Invalid or expired access token */
|
|
1918
|
+
401: {
|
|
1919
|
+
headers: {
|
|
1920
|
+
[name: string]: unknown;
|
|
1921
|
+
};
|
|
1922
|
+
content: {
|
|
1923
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1924
|
+
};
|
|
1925
|
+
};
|
|
1926
|
+
/** @description User consent required or insufficient scope */
|
|
1927
|
+
403: {
|
|
1928
|
+
headers: {
|
|
1929
|
+
[name: string]: unknown;
|
|
1930
|
+
};
|
|
1931
|
+
content: {
|
|
1932
|
+
"application/json": components["schemas"]["ConsentRequiredErrorDto"];
|
|
1933
|
+
};
|
|
1934
|
+
};
|
|
1935
|
+
/** @description Transfer not found */
|
|
1936
|
+
404: {
|
|
1937
|
+
headers: {
|
|
1938
|
+
[name: string]: unknown;
|
|
1939
|
+
};
|
|
1940
|
+
content: {
|
|
1941
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1942
|
+
};
|
|
1943
|
+
};
|
|
1944
|
+
};
|
|
1945
|
+
};
|
|
1946
|
+
revokeConsent: {
|
|
1947
|
+
parameters: {
|
|
1948
|
+
query?: never;
|
|
1949
|
+
header?: never;
|
|
1950
|
+
path?: never;
|
|
1951
|
+
cookie?: never;
|
|
1952
|
+
};
|
|
1953
|
+
requestBody?: never;
|
|
1954
|
+
responses: {
|
|
1955
|
+
/** @description Consent revoked successfully */
|
|
1956
|
+
200: {
|
|
1957
|
+
headers: {
|
|
1958
|
+
[name: string]: unknown;
|
|
1959
|
+
};
|
|
1960
|
+
content: {
|
|
1961
|
+
"application/json": components["schemas"]["RevokeConsentResponseDto"];
|
|
1962
|
+
};
|
|
1963
|
+
};
|
|
1964
|
+
/** @description Invalid or expired access token */
|
|
1965
|
+
401: {
|
|
1966
|
+
headers: {
|
|
1967
|
+
[name: string]: unknown;
|
|
1968
|
+
};
|
|
1969
|
+
content: {
|
|
1970
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
1971
|
+
};
|
|
1972
|
+
};
|
|
1973
|
+
};
|
|
1974
|
+
};
|
|
1975
|
+
ConsentController_showConsentPage: {
|
|
1976
|
+
parameters: {
|
|
1977
|
+
query?: never;
|
|
1978
|
+
header?: never;
|
|
1979
|
+
path?: never;
|
|
1980
|
+
cookie?: never;
|
|
1981
|
+
};
|
|
1982
|
+
requestBody?: never;
|
|
1983
|
+
responses: {
|
|
1984
|
+
200: {
|
|
1985
|
+
headers: {
|
|
1986
|
+
[name: string]: unknown;
|
|
1987
|
+
};
|
|
1988
|
+
content?: never;
|
|
1989
|
+
};
|
|
1990
|
+
};
|
|
1991
|
+
};
|
|
1992
|
+
ConsentController_handleConsentDecision: {
|
|
1993
|
+
parameters: {
|
|
1994
|
+
query?: never;
|
|
1995
|
+
header?: never;
|
|
1996
|
+
path?: never;
|
|
1997
|
+
cookie?: never;
|
|
1998
|
+
};
|
|
1999
|
+
requestBody?: never;
|
|
2000
|
+
responses: {
|
|
2001
|
+
201: {
|
|
2002
|
+
headers: {
|
|
2003
|
+
[name: string]: unknown;
|
|
2004
|
+
};
|
|
2005
|
+
content?: never;
|
|
2006
|
+
};
|
|
2007
|
+
};
|
|
2008
|
+
};
|
|
2009
|
+
ConnectedAppsController_getConnectedApps: {
|
|
2010
|
+
parameters: {
|
|
2011
|
+
query?: never;
|
|
2012
|
+
header?: never;
|
|
2013
|
+
path?: never;
|
|
2014
|
+
cookie?: never;
|
|
2015
|
+
};
|
|
2016
|
+
requestBody?: never;
|
|
2017
|
+
responses: {
|
|
2018
|
+
200: {
|
|
2019
|
+
headers: {
|
|
2020
|
+
[name: string]: unknown;
|
|
2021
|
+
};
|
|
2022
|
+
content?: never;
|
|
2023
|
+
};
|
|
2024
|
+
};
|
|
2025
|
+
};
|
|
2026
|
+
ConnectedAppsController_revokeApp: {
|
|
2027
|
+
parameters: {
|
|
2028
|
+
query?: never;
|
|
2029
|
+
header?: never;
|
|
2030
|
+
path: {
|
|
2031
|
+
clientId: string;
|
|
2032
|
+
};
|
|
2033
|
+
cookie?: never;
|
|
2034
|
+
};
|
|
2035
|
+
requestBody?: never;
|
|
2036
|
+
responses: {
|
|
2037
|
+
200: {
|
|
2038
|
+
headers: {
|
|
2039
|
+
[name: string]: unknown;
|
|
2040
|
+
};
|
|
2041
|
+
content?: never;
|
|
2042
|
+
};
|
|
2043
|
+
};
|
|
2044
|
+
};
|
|
2045
|
+
AppController_getHealth: {
|
|
2046
|
+
parameters: {
|
|
2047
|
+
query?: never;
|
|
2048
|
+
header?: never;
|
|
2049
|
+
path?: never;
|
|
2050
|
+
cookie?: never;
|
|
2051
|
+
};
|
|
2052
|
+
requestBody?: never;
|
|
2053
|
+
responses: {
|
|
2054
|
+
200: {
|
|
2055
|
+
headers: {
|
|
2056
|
+
[name: string]: unknown;
|
|
2057
|
+
};
|
|
2058
|
+
content?: never;
|
|
2059
|
+
};
|
|
2060
|
+
};
|
|
2061
|
+
};
|
|
2062
|
+
TestController_getAll: {
|
|
2063
|
+
parameters: {
|
|
2064
|
+
query?: never;
|
|
2065
|
+
header?: never;
|
|
2066
|
+
path?: never;
|
|
2067
|
+
cookie?: never;
|
|
2068
|
+
};
|
|
2069
|
+
requestBody?: never;
|
|
2070
|
+
responses: {
|
|
2071
|
+
200: {
|
|
2072
|
+
headers: {
|
|
2073
|
+
[name: string]: unknown;
|
|
2074
|
+
};
|
|
2075
|
+
content?: never;
|
|
2076
|
+
};
|
|
2077
|
+
};
|
|
2078
|
+
};
|
|
2079
|
+
TestController_create: {
|
|
2080
|
+
parameters: {
|
|
2081
|
+
query?: never;
|
|
2082
|
+
header?: never;
|
|
2083
|
+
path?: never;
|
|
2084
|
+
cookie?: never;
|
|
2085
|
+
};
|
|
2086
|
+
requestBody?: never;
|
|
2087
|
+
responses: {
|
|
2088
|
+
201: {
|
|
2089
|
+
headers: {
|
|
2090
|
+
[name: string]: unknown;
|
|
2091
|
+
};
|
|
2092
|
+
content?: never;
|
|
2093
|
+
};
|
|
2094
|
+
};
|
|
2095
|
+
};
|
|
2096
|
+
TestController_getById: {
|
|
2097
|
+
parameters: {
|
|
2098
|
+
query?: never;
|
|
2099
|
+
header?: never;
|
|
2100
|
+
path: {
|
|
2101
|
+
id: string;
|
|
2102
|
+
};
|
|
2103
|
+
cookie?: never;
|
|
2104
|
+
};
|
|
2105
|
+
requestBody?: never;
|
|
2106
|
+
responses: {
|
|
2107
|
+
200: {
|
|
2108
|
+
headers: {
|
|
2109
|
+
[name: string]: unknown;
|
|
2110
|
+
};
|
|
2111
|
+
content?: never;
|
|
2112
|
+
};
|
|
2113
|
+
};
|
|
2114
|
+
};
|
|
2115
|
+
TestController_update: {
|
|
2116
|
+
parameters: {
|
|
2117
|
+
query?: never;
|
|
2118
|
+
header?: never;
|
|
2119
|
+
path: {
|
|
2120
|
+
id: string;
|
|
2121
|
+
};
|
|
2122
|
+
cookie?: never;
|
|
2123
|
+
};
|
|
2124
|
+
requestBody?: never;
|
|
2125
|
+
responses: {
|
|
2126
|
+
200: {
|
|
2127
|
+
headers: {
|
|
2128
|
+
[name: string]: unknown;
|
|
2129
|
+
};
|
|
2130
|
+
content?: never;
|
|
2131
|
+
};
|
|
2132
|
+
};
|
|
2133
|
+
};
|
|
2134
|
+
TestController_delete: {
|
|
2135
|
+
parameters: {
|
|
2136
|
+
query?: never;
|
|
2137
|
+
header?: never;
|
|
2138
|
+
path: {
|
|
2139
|
+
id: string;
|
|
2140
|
+
};
|
|
2141
|
+
cookie?: never;
|
|
2142
|
+
};
|
|
2143
|
+
requestBody?: never;
|
|
2144
|
+
responses: {
|
|
2145
|
+
200: {
|
|
2146
|
+
headers: {
|
|
2147
|
+
[name: string]: unknown;
|
|
2148
|
+
};
|
|
2149
|
+
content?: never;
|
|
2150
|
+
};
|
|
2151
|
+
};
|
|
2152
|
+
};
|
|
2153
|
+
TestController_getLegacyData: {
|
|
2154
|
+
parameters: {
|
|
2155
|
+
query?: never;
|
|
2156
|
+
header?: never;
|
|
2157
|
+
path?: never;
|
|
2158
|
+
cookie?: never;
|
|
2159
|
+
};
|
|
2160
|
+
requestBody?: never;
|
|
2161
|
+
responses: {
|
|
2162
|
+
200: {
|
|
2163
|
+
headers: {
|
|
2164
|
+
[name: string]: unknown;
|
|
2165
|
+
};
|
|
2166
|
+
content?: never;
|
|
2167
|
+
};
|
|
2168
|
+
};
|
|
2169
|
+
};
|
|
2170
|
+
ConfigTestController_getConfigInfo: {
|
|
2171
|
+
parameters: {
|
|
2172
|
+
query?: never;
|
|
2173
|
+
header?: never;
|
|
2174
|
+
path?: never;
|
|
2175
|
+
cookie?: never;
|
|
2176
|
+
};
|
|
2177
|
+
requestBody?: never;
|
|
2178
|
+
responses: {
|
|
2179
|
+
200: {
|
|
2180
|
+
headers: {
|
|
2181
|
+
[name: string]: unknown;
|
|
2182
|
+
};
|
|
2183
|
+
content?: never;
|
|
2184
|
+
};
|
|
2185
|
+
};
|
|
2186
|
+
};
|
|
2187
|
+
ConfigTestController_getRawConfigValues: {
|
|
2188
|
+
parameters: {
|
|
2189
|
+
query?: never;
|
|
2190
|
+
header?: never;
|
|
2191
|
+
path?: never;
|
|
2192
|
+
cookie?: never;
|
|
2193
|
+
};
|
|
2194
|
+
requestBody?: never;
|
|
2195
|
+
responses: {
|
|
2196
|
+
200: {
|
|
2197
|
+
headers: {
|
|
2198
|
+
[name: string]: unknown;
|
|
2199
|
+
};
|
|
2200
|
+
content?: never;
|
|
2201
|
+
};
|
|
2202
|
+
};
|
|
2203
|
+
};
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
/**
|
|
2207
|
+
* EDGE Connect API Types
|
|
2208
|
+
*
|
|
2209
|
+
* Friendly type aliases for the generated OpenAPI types.
|
|
2210
|
+
* These provide cleaner names and better documentation for SDK consumers.
|
|
2211
|
+
*
|
|
2212
|
+
* @module @edge-markets/connect/types
|
|
2213
|
+
*/
|
|
2214
|
+
|
|
2215
|
+
/**
|
|
2216
|
+
* User profile information from EDGE Connect.
|
|
2217
|
+
*
|
|
2218
|
+
* @example
|
|
2219
|
+
* ```typescript
|
|
2220
|
+
* const user: User = await edge.getUser(accessToken)
|
|
2221
|
+
* console.log(`Welcome, ${user.firstName}!`)
|
|
2222
|
+
* ```
|
|
2223
|
+
*/
|
|
2224
|
+
type User = components['schemas']['ConnectUserResponseDto'];
|
|
2225
|
+
/**
|
|
2226
|
+
* User's EdgeBoost account balance.
|
|
2227
|
+
*
|
|
2228
|
+
* @example
|
|
2229
|
+
* ```typescript
|
|
2230
|
+
* const balance: Balance = await edge.getBalance(accessToken)
|
|
2231
|
+
* console.log(`Available: $${balance.availableBalance.toFixed(2)} ${balance.currency}`)
|
|
2232
|
+
* ```
|
|
2233
|
+
*/
|
|
2234
|
+
type Balance = components['schemas']['ConnectBalanceResponseDto'];
|
|
2235
|
+
/**
|
|
2236
|
+
* Request payload for initiating a transfer.
|
|
2237
|
+
*
|
|
2238
|
+
* @example
|
|
2239
|
+
* ```typescript
|
|
2240
|
+
* const request: InitiateTransferRequest = {
|
|
2241
|
+
* type: 'debit',
|
|
2242
|
+
* amount: '100.00',
|
|
2243
|
+
* idempotencyKey: `txn_${Date.now()}_${Math.random().toString(36).slice(2)}`,
|
|
2244
|
+
* }
|
|
2245
|
+
* ```
|
|
2246
|
+
*/
|
|
2247
|
+
type InitiateTransferRequest = components['schemas']['InitiateTransferRequestDto'];
|
|
2248
|
+
/**
|
|
2249
|
+
* Transfer response with status and OTP method.
|
|
2250
|
+
*
|
|
2251
|
+
* @example
|
|
2252
|
+
* ```typescript
|
|
2253
|
+
* const transfer: Transfer = await edge.initiateTransfer(accessToken, request)
|
|
2254
|
+
* if (transfer.status === 'pending_verification') {
|
|
2255
|
+
* console.log(`Enter OTP sent via ${transfer.otpMethod}`)
|
|
2256
|
+
* }
|
|
2257
|
+
* ```
|
|
2258
|
+
*/
|
|
2259
|
+
type Transfer = components['schemas']['TransferResponseDto'];
|
|
2260
|
+
/**
|
|
2261
|
+
* Transfer item in a list (includes additional fields like amount and timestamps).
|
|
2262
|
+
*/
|
|
2263
|
+
type TransferListItem = components['schemas']['TransferListItemDto'];
|
|
2264
|
+
/**
|
|
2265
|
+
* Paginated list of transfers.
|
|
2266
|
+
*/
|
|
2267
|
+
type TransferList = components['schemas']['ListTransfersResponseDto'];
|
|
2268
|
+
/**
|
|
2269
|
+
* Request payload for verifying a transfer with OTP.
|
|
2270
|
+
*/
|
|
2271
|
+
type VerifyTransferRequest = components['schemas']['VerifyTransferRequestDto'];
|
|
2272
|
+
/**
|
|
2273
|
+
* Response from revoking user consent.
|
|
2274
|
+
*/
|
|
2275
|
+
type RevokeConsentResponse = components['schemas']['RevokeConsentResponseDto'];
|
|
2276
|
+
/**
|
|
2277
|
+
* Standard API error response.
|
|
2278
|
+
*/
|
|
2279
|
+
type ApiError = components['schemas']['ErrorResponseDto'];
|
|
2280
|
+
/**
|
|
2281
|
+
* Error response when user consent is required.
|
|
2282
|
+
*/
|
|
2283
|
+
type ConsentRequiredError = components['schemas']['ConsentRequiredErrorDto'];
|
|
2284
|
+
/**
|
|
2285
|
+
* Transfer type indicating direction of funds.
|
|
2286
|
+
*
|
|
2287
|
+
* - `debit`: Pull funds FROM user's EdgeBoost TO partner (user deposits to partner)
|
|
2288
|
+
* - `credit`: Push funds FROM partner TO user's EdgeBoost (user withdraws from partner)
|
|
2289
|
+
*/
|
|
2290
|
+
type TransferType = 'debit' | 'credit';
|
|
2291
|
+
/**
|
|
2292
|
+
* Current status of a transfer.
|
|
2293
|
+
*
|
|
2294
|
+
* - `pending_verification`: Awaiting OTP verification
|
|
2295
|
+
* - `completed`: Transfer completed successfully
|
|
2296
|
+
* - `failed`: Transfer failed (insufficient funds, invalid OTP, etc.)
|
|
2297
|
+
* - `expired`: OTP verification window expired
|
|
2298
|
+
*/
|
|
2299
|
+
type TransferStatus = 'pending_verification' | 'completed' | 'failed' | 'expired';
|
|
2300
|
+
/**
|
|
2301
|
+
* OTP delivery method for transfer verification.
|
|
2302
|
+
*
|
|
2303
|
+
* - `sms`: OTP sent via SMS to user's phone
|
|
2304
|
+
* - `totp`: User generates OTP from authenticator app
|
|
2305
|
+
*/
|
|
2306
|
+
type OtpMethod = 'sms' | 'totp';
|
|
2307
|
+
/**
|
|
2308
|
+
* Parameters for listing transfers.
|
|
2309
|
+
*/
|
|
2310
|
+
type ListTransfersParams = NonNullable<operations['listTransfers']['parameters']['query']>;
|
|
2311
|
+
/**
|
|
2312
|
+
* All possible transfer types.
|
|
2313
|
+
* Use for validation or building UI select options.
|
|
2314
|
+
*/
|
|
2315
|
+
declare const TRANSFER_TYPES: readonly ["debit", "credit"];
|
|
2316
|
+
/**
|
|
2317
|
+
* All possible transfer statuses.
|
|
2318
|
+
* Use for filtering or status display.
|
|
2319
|
+
*/
|
|
2320
|
+
declare const TRANSFER_STATUSES: readonly ["pending_verification", "completed", "failed", "expired"];
|
|
2321
|
+
/**
|
|
2322
|
+
* All possible OTP methods.
|
|
2323
|
+
*/
|
|
2324
|
+
declare const OTP_METHODS: readonly ["sms", "totp"];
|
|
2325
|
+
|
|
2326
|
+
/**
|
|
2327
|
+
* EDGE Connect SDK Types
|
|
2328
|
+
*
|
|
2329
|
+
* This module exports all types needed for EDGE Connect integration.
|
|
2330
|
+
*
|
|
2331
|
+
* @module @edge-markets/connect/types
|
|
2332
|
+
*/
|
|
2333
|
+
|
|
2334
|
+
/**
|
|
2335
|
+
* OAuth tokens returned from token exchange.
|
|
2336
|
+
*
|
|
2337
|
+
* Store these securely - the access token is used for API calls,
|
|
2338
|
+
* the refresh token is used to get new access tokens.
|
|
2339
|
+
*
|
|
2340
|
+
* @example
|
|
2341
|
+
* ```typescript
|
|
2342
|
+
* // After EdgeLink success, exchange the code for tokens
|
|
2343
|
+
* const tokens: EdgeTokens = await edge.exchangeCode(code, codeVerifier)
|
|
2344
|
+
*
|
|
2345
|
+
* // Check if token needs refresh
|
|
2346
|
+
* if (Date.now() > tokens.expiresAt - 60000) {
|
|
2347
|
+
* const newTokens = await edge.refreshTokens(tokens.refreshToken)
|
|
2348
|
+
* }
|
|
2349
|
+
* ```
|
|
2350
|
+
*/
|
|
2351
|
+
interface EdgeTokens {
|
|
2352
|
+
/** JWT access token for API calls. Include in Authorization header. */
|
|
2353
|
+
accessToken: string;
|
|
2354
|
+
/** Refresh token for getting new access tokens when the current one expires. */
|
|
2355
|
+
refreshToken: string;
|
|
2356
|
+
/** ID token containing user claims (optional, depends on scopes). */
|
|
2357
|
+
idToken?: string;
|
|
2358
|
+
/** Access token lifetime in seconds (typically 3600 = 1 hour). */
|
|
2359
|
+
expiresIn: number;
|
|
2360
|
+
/** Unix timestamp (milliseconds) when the access token expires. */
|
|
2361
|
+
expiresAt: number;
|
|
2362
|
+
/** Space-separated list of granted scopes. */
|
|
2363
|
+
scope: string;
|
|
2364
|
+
}
|
|
2365
|
+
/**
|
|
2366
|
+
* Result from successful EdgeLink authentication flow.
|
|
2367
|
+
*
|
|
2368
|
+
* Send these values to your backend for token exchange.
|
|
2369
|
+
* Never expose your client secret in frontend code.
|
|
2370
|
+
*
|
|
2371
|
+
* @example
|
|
2372
|
+
* ```typescript
|
|
2373
|
+
* const link = new EdgeLink({
|
|
2374
|
+
* clientId: 'your-client-id',
|
|
2375
|
+
* environment: 'staging',
|
|
2376
|
+
* onSuccess: (result: EdgeLinkSuccess) => {
|
|
2377
|
+
* // Send to your backend
|
|
2378
|
+
* fetch('/api/edge/exchange', {
|
|
2379
|
+
* method: 'POST',
|
|
2380
|
+
* headers: { 'Content-Type': 'application/json' },
|
|
2381
|
+
* body: JSON.stringify({
|
|
2382
|
+
* code: result.code,
|
|
2383
|
+
* codeVerifier: result.codeVerifier,
|
|
2384
|
+
* }),
|
|
2385
|
+
* })
|
|
2386
|
+
* },
|
|
2387
|
+
* })
|
|
2388
|
+
* ```
|
|
2389
|
+
*/
|
|
2390
|
+
interface EdgeLinkSuccess {
|
|
2391
|
+
/** Authorization code from OAuth flow. Valid for ~10 minutes. */
|
|
2392
|
+
code: string;
|
|
2393
|
+
/** PKCE code verifier - must be sent with code for token exchange. */
|
|
2394
|
+
codeVerifier: string;
|
|
2395
|
+
/** State parameter for CSRF validation. Should match what you sent. */
|
|
2396
|
+
state: string;
|
|
2397
|
+
}
|
|
2398
|
+
/**
|
|
2399
|
+
* Metadata when EdgeLink popup exits (success or otherwise).
|
|
2400
|
+
*
|
|
2401
|
+
* @example
|
|
2402
|
+
* ```typescript
|
|
2403
|
+
* const link = new EdgeLink({
|
|
2404
|
+
* // ...
|
|
2405
|
+
* onExit: (metadata: EdgeLinkExit) => {
|
|
2406
|
+
* switch (metadata.reason) {
|
|
2407
|
+
* case 'user_closed':
|
|
2408
|
+
* console.log('User closed the popup')
|
|
2409
|
+
* break
|
|
2410
|
+
* case 'popup_blocked':
|
|
2411
|
+
* alert('Please allow popups and try again')
|
|
2412
|
+
* break
|
|
2413
|
+
* case 'error':
|
|
2414
|
+
* console.error(`Error: ${metadata.error?.message}`)
|
|
2415
|
+
* break
|
|
2416
|
+
* }
|
|
2417
|
+
* },
|
|
2418
|
+
* })
|
|
2419
|
+
* ```
|
|
2420
|
+
*/
|
|
2421
|
+
interface EdgeLinkExit {
|
|
2422
|
+
/** Why the Link exited. */
|
|
2423
|
+
reason: 'user_closed' | 'error' | 'popup_blocked';
|
|
2424
|
+
/** Error details if reason is 'error'. */
|
|
2425
|
+
error?: {
|
|
2426
|
+
/** Machine-readable error code. */
|
|
2427
|
+
code: string;
|
|
2428
|
+
/** Human-readable error message. */
|
|
2429
|
+
message: string;
|
|
2430
|
+
};
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
/**
|
|
2434
|
+
* EDGE Connect Environment Configuration
|
|
2435
|
+
*
|
|
2436
|
+
* Defines the URLs and settings for each deployment environment.
|
|
2437
|
+
* Partners select an environment when initializing the SDK.
|
|
2438
|
+
*
|
|
2439
|
+
* @module @edge-markets/connect/config
|
|
2440
|
+
*/
|
|
2441
|
+
/**
|
|
2442
|
+
* Available EDGE Connect environments.
|
|
2443
|
+
*
|
|
2444
|
+
* - `production`: Live environment with real money
|
|
2445
|
+
* - `staging`: Test environment with test accounts (use during development)
|
|
2446
|
+
* - `sandbox`: Isolated environment with mock data (coming soon)
|
|
2447
|
+
*
|
|
2448
|
+
* @example
|
|
2449
|
+
* ```typescript
|
|
2450
|
+
* const edge = new EdgeConnectServer({
|
|
2451
|
+
* clientId: process.env.EDGE_CLIENT_ID,
|
|
2452
|
+
* clientSecret: process.env.EDGE_CLIENT_SECRET,
|
|
2453
|
+
* environment: 'staging', // <-- autocomplete shows all options
|
|
2454
|
+
* })
|
|
2455
|
+
* ```
|
|
2456
|
+
*/
|
|
2457
|
+
type EdgeEnvironment = 'production' | 'staging' | 'sandbox';
|
|
2458
|
+
/**
|
|
2459
|
+
* Configuration for a specific environment.
|
|
2460
|
+
*/
|
|
2461
|
+
interface EdgeEnvironmentConfig {
|
|
2462
|
+
/** Legacy: Cognito domain for OAuth token endpoints. */
|
|
2463
|
+
authDomain: string;
|
|
2464
|
+
/** Base URL for the Connect API endpoints (without trailing slash). */
|
|
2465
|
+
apiBaseUrl: string;
|
|
2466
|
+
/** Base URL for OAuth token operations (without trailing slash). */
|
|
2467
|
+
oauthBaseUrl: string;
|
|
2468
|
+
/** URL for the EdgeBoost user client (for Link popup). */
|
|
2469
|
+
userClientUrl: string;
|
|
2470
|
+
/** Human-readable name for debugging/logging. */
|
|
2471
|
+
displayName: string;
|
|
2472
|
+
/** Whether this environment uses real money. */
|
|
2473
|
+
isProduction: boolean;
|
|
2474
|
+
}
|
|
2475
|
+
/**
|
|
2476
|
+
* Environment configurations.
|
|
2477
|
+
*
|
|
2478
|
+
* These URLs are updated when infrastructure changes.
|
|
2479
|
+
* Partners shouldn't need to modify these directly.
|
|
2480
|
+
*/
|
|
2481
|
+
declare const EDGE_ENVIRONMENTS: Readonly<Record<EdgeEnvironment, EdgeEnvironmentConfig>>;
|
|
2482
|
+
/**
|
|
2483
|
+
* Gets the configuration for a specific environment.
|
|
2484
|
+
*
|
|
2485
|
+
* @param environment - The environment to get config for
|
|
2486
|
+
* @returns The environment configuration
|
|
2487
|
+
*
|
|
2488
|
+
* @example
|
|
2489
|
+
* ```typescript
|
|
2490
|
+
* const config = getEnvironmentConfig('staging')
|
|
2491
|
+
* console.log(`Using ${config.displayName} at ${config.apiBaseUrl}`)
|
|
2492
|
+
* ```
|
|
2493
|
+
*/
|
|
2494
|
+
declare function getEnvironmentConfig(environment: EdgeEnvironment): EdgeEnvironmentConfig;
|
|
2495
|
+
/**
|
|
2496
|
+
* Checks if an environment is the production environment.
|
|
2497
|
+
*
|
|
2498
|
+
* @param environment - The environment to check
|
|
2499
|
+
* @returns true if this is the production environment
|
|
2500
|
+
*
|
|
2501
|
+
* @example
|
|
2502
|
+
* ```typescript
|
|
2503
|
+
* if (isProductionEnvironment('staging')) {
|
|
2504
|
+
* // false - staging is not production
|
|
2505
|
+
* }
|
|
2506
|
+
* ```
|
|
2507
|
+
*/
|
|
2508
|
+
declare function isProductionEnvironment(environment: EdgeEnvironment): boolean;
|
|
2509
|
+
/**
|
|
2510
|
+
* Gets all available environment names.
|
|
2511
|
+
* Useful for building environment selectors in admin UIs.
|
|
2512
|
+
*/
|
|
2513
|
+
declare function getAvailableEnvironments(): readonly EdgeEnvironment[];
|
|
2514
|
+
|
|
2515
|
+
/**
|
|
2516
|
+
* EDGE Connect OAuth Scopes
|
|
2517
|
+
*
|
|
2518
|
+
* OAuth scopes define what permissions your application requests from users.
|
|
2519
|
+
* Each scope grants access to specific API endpoints.
|
|
2520
|
+
*
|
|
2521
|
+
* @module @edge-markets/connect/config
|
|
2522
|
+
*/
|
|
2523
|
+
/**
|
|
2524
|
+
* Available OAuth scopes for EDGE Connect.
|
|
2525
|
+
*
|
|
2526
|
+
* Request the minimum scopes your application needs.
|
|
2527
|
+
* Users see these permissions during the consent flow.
|
|
2528
|
+
*
|
|
2529
|
+
* @example
|
|
2530
|
+
* ```typescript
|
|
2531
|
+
* // Request only what you need
|
|
2532
|
+
* link.open({
|
|
2533
|
+
* scopes: [EDGE_SCOPES.USER_READ, EDGE_SCOPES.BALANCE_READ],
|
|
2534
|
+
* })
|
|
2535
|
+
*
|
|
2536
|
+
* // Or request all scopes
|
|
2537
|
+
* link.open({
|
|
2538
|
+
* scopes: ALL_EDGE_SCOPES,
|
|
2539
|
+
* })
|
|
2540
|
+
* ```
|
|
2541
|
+
*/
|
|
2542
|
+
declare const EDGE_SCOPES: {
|
|
2543
|
+
/**
|
|
2544
|
+
* Read user profile information (name, email).
|
|
2545
|
+
* Required for: `GET /v1/user`
|
|
2546
|
+
*/
|
|
2547
|
+
readonly USER_READ: "user.read";
|
|
2548
|
+
/**
|
|
2549
|
+
* Read account balance.
|
|
2550
|
+
* Required for: `GET /v1/balance`
|
|
2551
|
+
*/
|
|
2552
|
+
readonly BALANCE_READ: "balance.read";
|
|
2553
|
+
/**
|
|
2554
|
+
* Initiate and verify fund transfers.
|
|
2555
|
+
* Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
|
|
2556
|
+
*/
|
|
2557
|
+
readonly TRANSFER_WRITE: "transfer.write";
|
|
2558
|
+
};
|
|
2559
|
+
/**
|
|
2560
|
+
* Type representing a valid EDGE Connect scope.
|
|
2561
|
+
*/
|
|
2562
|
+
type EdgeScope = (typeof EDGE_SCOPES)[keyof typeof EDGE_SCOPES];
|
|
2563
|
+
/**
|
|
2564
|
+
* All available scopes as an array.
|
|
2565
|
+
* Use when you need full access to all API features.
|
|
2566
|
+
*
|
|
2567
|
+
* @example
|
|
2568
|
+
* ```typescript
|
|
2569
|
+
* const link = new EdgeLink({
|
|
2570
|
+
* clientId: 'your-client-id',
|
|
2571
|
+
* environment: 'staging',
|
|
2572
|
+
* scopes: ALL_EDGE_SCOPES, // Request all permissions
|
|
2573
|
+
* onSuccess: handleSuccess,
|
|
2574
|
+
* })
|
|
2575
|
+
* ```
|
|
2576
|
+
*/
|
|
2577
|
+
declare const ALL_EDGE_SCOPES: readonly EdgeScope[];
|
|
2578
|
+
/**
|
|
2579
|
+
* Human-readable descriptions for each scope.
|
|
2580
|
+
* Useful for building custom consent UIs or explaining permissions.
|
|
2581
|
+
*/
|
|
2582
|
+
declare const SCOPE_DESCRIPTIONS: Readonly<Record<EdgeScope, string>>;
|
|
2583
|
+
/**
|
|
2584
|
+
* Icons for each scope (for UI display).
|
|
2585
|
+
* Using common icon library names (e.g., Lucide, Heroicons).
|
|
2586
|
+
*/
|
|
2587
|
+
declare const SCOPE_ICONS: Readonly<Record<EdgeScope, string>>;
|
|
2588
|
+
/**
|
|
2589
|
+
* Builds the full scope string for a given environment.
|
|
2590
|
+
*
|
|
2591
|
+
* Different environments may use different scope prefixes in Cognito.
|
|
2592
|
+
* This function handles the prefix automatically.
|
|
2593
|
+
*
|
|
2594
|
+
* @param scope - The scope to format
|
|
2595
|
+
* @param environment - The target environment
|
|
2596
|
+
* @returns The full scope string for Cognito
|
|
2597
|
+
*
|
|
2598
|
+
* @example
|
|
2599
|
+
* ```typescript
|
|
2600
|
+
* formatScopeForEnvironment('user.read', 'staging')
|
|
2601
|
+
* // Returns: 'edge-connect-staging/user.read'
|
|
2602
|
+
*
|
|
2603
|
+
* formatScopeForEnvironment('user.read', 'production')
|
|
2604
|
+
* // Returns: 'edge-connect/user.read'
|
|
2605
|
+
* ```
|
|
2606
|
+
*/
|
|
2607
|
+
declare function formatScopeForEnvironment(scope: EdgeScope, environment: 'production' | 'staging' | 'sandbox'): string;
|
|
2608
|
+
/**
|
|
2609
|
+
* Formats multiple scopes for an environment.
|
|
2610
|
+
*
|
|
2611
|
+
* @param scopes - Array of scopes to format
|
|
2612
|
+
* @param environment - The target environment
|
|
2613
|
+
* @returns Array of full scope strings
|
|
2614
|
+
*/
|
|
2615
|
+
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment: 'production' | 'staging' | 'sandbox'): string[];
|
|
2616
|
+
/**
|
|
2617
|
+
* Parses a full scope string to extract the base scope.
|
|
2618
|
+
*
|
|
2619
|
+
* @param fullScope - The full scope string (e.g., 'edge-connect-staging/user.read')
|
|
2620
|
+
* @returns The base scope (e.g., 'user.read') or null if invalid
|
|
2621
|
+
*/
|
|
2622
|
+
declare function parseScope(fullScope: string): EdgeScope | null;
|
|
2623
|
+
/**
|
|
2624
|
+
* Checks if a scope string is valid.
|
|
2625
|
+
*/
|
|
2626
|
+
declare function isValidScope(scope: string): scope is EdgeScope;
|
|
2627
|
+
|
|
2628
|
+
/**
|
|
2629
|
+
* EDGE Connect SDK Error Classes
|
|
2630
|
+
*
|
|
2631
|
+
* Typed error classes for handling specific error scenarios.
|
|
2632
|
+
* Each error class provides structured information for programmatic handling.
|
|
2633
|
+
*
|
|
2634
|
+
* @module @edge-markets/connect/errors
|
|
2635
|
+
*/
|
|
2636
|
+
/**
|
|
2637
|
+
* Base error class for all EDGE Connect errors.
|
|
2638
|
+
*
|
|
2639
|
+
* All SDK errors extend this class, making it easy to catch any SDK error:
|
|
2640
|
+
*
|
|
2641
|
+
* @example
|
|
2642
|
+
* ```typescript
|
|
2643
|
+
* try {
|
|
2644
|
+
* const balance = await edge.getBalance(accessToken)
|
|
2645
|
+
* } catch (error) {
|
|
2646
|
+
* if (error instanceof EdgeError) {
|
|
2647
|
+
* console.error(`EDGE Error [${error.code}]: ${error.message}`)
|
|
2648
|
+
* // Handle SDK errors
|
|
2649
|
+
* } else {
|
|
2650
|
+
* // Handle unexpected errors
|
|
2651
|
+
* throw error
|
|
2652
|
+
* }
|
|
2653
|
+
* }
|
|
2654
|
+
* ```
|
|
2655
|
+
*/
|
|
2656
|
+
declare class EdgeError extends Error {
|
|
2657
|
+
/**
|
|
2658
|
+
* Machine-readable error code.
|
|
2659
|
+
* Use this for programmatic error handling.
|
|
2660
|
+
*/
|
|
2661
|
+
readonly code: string;
|
|
2662
|
+
/**
|
|
2663
|
+
* HTTP status code (if applicable).
|
|
2664
|
+
* Useful for logging and debugging.
|
|
2665
|
+
*/
|
|
2666
|
+
readonly statusCode?: number;
|
|
2667
|
+
/**
|
|
2668
|
+
* Additional error details.
|
|
2669
|
+
* May contain API response data or other context.
|
|
2670
|
+
*/
|
|
2671
|
+
readonly details?: Record<string, unknown>;
|
|
2672
|
+
constructor(code: string, message: string, statusCode?: number, details?: Record<string, unknown>);
|
|
2673
|
+
/**
|
|
2674
|
+
* Creates a user-friendly error message for display.
|
|
2675
|
+
*/
|
|
2676
|
+
toUserMessage(): string;
|
|
2677
|
+
/**
|
|
2678
|
+
* Converts error to a plain object for logging/serialization.
|
|
2679
|
+
*/
|
|
2680
|
+
toJSON(): Record<string, unknown>;
|
|
2681
|
+
}
|
|
2682
|
+
/**
|
|
2683
|
+
* Thrown when authentication fails or access token is invalid/expired.
|
|
2684
|
+
*
|
|
2685
|
+
* **What to do:**
|
|
2686
|
+
* - If you have a refresh token, try refreshing the access token
|
|
2687
|
+
* - If refresh fails, redirect user to re-authenticate via EdgeLink
|
|
2688
|
+
*
|
|
2689
|
+
* @example
|
|
2690
|
+
* ```typescript
|
|
2691
|
+
* try {
|
|
2692
|
+
* const balance = await edge.getBalance(accessToken)
|
|
2693
|
+
* } catch (error) {
|
|
2694
|
+
* if (error instanceof EdgeAuthenticationError) {
|
|
2695
|
+
* // Try refreshing the token
|
|
2696
|
+
* const newTokens = await edge.refreshTokens(refreshToken)
|
|
2697
|
+
* // Retry with new access token
|
|
2698
|
+
* }
|
|
2699
|
+
* }
|
|
2700
|
+
* ```
|
|
2701
|
+
*/
|
|
2702
|
+
declare class EdgeAuthenticationError extends EdgeError {
|
|
2703
|
+
constructor(message?: string, details?: Record<string, unknown>);
|
|
2704
|
+
}
|
|
2705
|
+
/**
|
|
2706
|
+
* Thrown when token exchange fails.
|
|
2707
|
+
*
|
|
2708
|
+
* **Common causes:**
|
|
2709
|
+
* - Authorization code expired (codes are valid ~10 minutes)
|
|
2710
|
+
* - Code already used (codes are single-use)
|
|
2711
|
+
* - Invalid code verifier
|
|
2712
|
+
* - Invalid client credentials
|
|
2713
|
+
*
|
|
2714
|
+
* @example
|
|
2715
|
+
* ```typescript
|
|
2716
|
+
* try {
|
|
2717
|
+
* const tokens = await edge.exchangeCode(code, codeVerifier)
|
|
2718
|
+
* } catch (error) {
|
|
2719
|
+
* if (error instanceof EdgeTokenExchangeError) {
|
|
2720
|
+
* if (error.details?.cognitoError === 'invalid_grant') {
|
|
2721
|
+
* // Code expired or already used - restart flow
|
|
2722
|
+
* redirectToEdgeLink()
|
|
2723
|
+
* }
|
|
2724
|
+
* }
|
|
2725
|
+
* }
|
|
2726
|
+
* ```
|
|
2727
|
+
*/
|
|
2728
|
+
declare class EdgeTokenExchangeError extends EdgeError {
|
|
2729
|
+
constructor(message?: string, details?: Record<string, unknown>);
|
|
2730
|
+
}
|
|
2731
|
+
/**
|
|
2732
|
+
* Thrown when user has not granted consent to the application.
|
|
2733
|
+
*
|
|
2734
|
+
* **What to do:**
|
|
2735
|
+
* - Redirect user to EdgeLink to grant consent
|
|
2736
|
+
* - Check if the user revoked consent in their EdgeBoost settings
|
|
2737
|
+
*
|
|
2738
|
+
* @example
|
|
2739
|
+
* ```typescript
|
|
2740
|
+
* try {
|
|
2741
|
+
* const balance = await edge.getBalance(accessToken)
|
|
2742
|
+
* } catch (error) {
|
|
2743
|
+
* if (error instanceof EdgeConsentRequiredError) {
|
|
2744
|
+
* // User needs to grant consent
|
|
2745
|
+
* showMessage('Please connect your EdgeBoost account')
|
|
2746
|
+
* openEdgeLink()
|
|
2747
|
+
* }
|
|
2748
|
+
* }
|
|
2749
|
+
* ```
|
|
2750
|
+
*/
|
|
2751
|
+
declare class EdgeConsentRequiredError extends EdgeError {
|
|
2752
|
+
/** The client ID that needs consent. */
|
|
2753
|
+
readonly clientId: string;
|
|
2754
|
+
/** URL to redirect user for consent (if provided by API). */
|
|
2755
|
+
readonly consentUrl?: string;
|
|
2756
|
+
constructor(clientId: string, consentUrl?: string, message?: string);
|
|
2757
|
+
}
|
|
2758
|
+
/**
|
|
2759
|
+
* Thrown when consent exists but doesn't include all required scopes.
|
|
2760
|
+
*
|
|
2761
|
+
* **What to do:**
|
|
2762
|
+
* - Redirect user to EdgeLink to grant additional permissions
|
|
2763
|
+
* - Or request fewer scopes if the missing ones aren't essential
|
|
2764
|
+
*
|
|
2765
|
+
* @example
|
|
2766
|
+
* ```typescript
|
|
2767
|
+
* try {
|
|
2768
|
+
* await edge.initiateTransfer(accessToken, transferRequest)
|
|
2769
|
+
* } catch (error) {
|
|
2770
|
+
* if (error instanceof EdgeInsufficientScopeError) {
|
|
2771
|
+
* console.log(`Missing scopes: ${error.missingScopes.join(', ')}`)
|
|
2772
|
+
* // Re-authenticate with required scopes
|
|
2773
|
+
* }
|
|
2774
|
+
* }
|
|
2775
|
+
* ```
|
|
2776
|
+
*/
|
|
2777
|
+
declare class EdgeInsufficientScopeError extends EdgeError {
|
|
2778
|
+
/** Scopes that are missing from the current consent. */
|
|
2779
|
+
readonly missingScopes: string[];
|
|
2780
|
+
constructor(missingScopes: string[], message?: string);
|
|
2781
|
+
}
|
|
2782
|
+
/**
|
|
2783
|
+
* Thrown when an API request fails with a known error.
|
|
2784
|
+
*
|
|
2785
|
+
* @example
|
|
2786
|
+
* ```typescript
|
|
2787
|
+
* try {
|
|
2788
|
+
* await edge.initiateTransfer(accessToken, { type: 'debit', amount: '10000.00', idempotencyKey: 'x' })
|
|
2789
|
+
* } catch (error) {
|
|
2790
|
+
* if (error instanceof EdgeApiError) {
|
|
2791
|
+
* if (error.code === 'insufficient_funds') {
|
|
2792
|
+
* showMessage('Insufficient balance for this transfer')
|
|
2793
|
+
* }
|
|
2794
|
+
* }
|
|
2795
|
+
* }
|
|
2796
|
+
* ```
|
|
2797
|
+
*/
|
|
2798
|
+
declare class EdgeApiError extends EdgeError {
|
|
2799
|
+
constructor(code: string, message: string, statusCode: number, details?: Record<string, unknown>);
|
|
2800
|
+
}
|
|
2801
|
+
/**
|
|
2802
|
+
* Thrown when a requested resource is not found.
|
|
2803
|
+
*
|
|
2804
|
+
* @example
|
|
2805
|
+
* ```typescript
|
|
2806
|
+
* try {
|
|
2807
|
+
* const transfer = await edge.getTransferStatus(accessToken, 'invalid-id')
|
|
2808
|
+
* } catch (error) {
|
|
2809
|
+
* if (error instanceof EdgeNotFoundError) {
|
|
2810
|
+
* showMessage('Transfer not found')
|
|
2811
|
+
* }
|
|
2812
|
+
* }
|
|
2813
|
+
* ```
|
|
2814
|
+
*/
|
|
2815
|
+
declare class EdgeNotFoundError extends EdgeError {
|
|
2816
|
+
/** The type of resource that wasn't found. */
|
|
2817
|
+
readonly resourceType: string;
|
|
2818
|
+
/** The ID that was looked up. */
|
|
2819
|
+
readonly resourceId: string;
|
|
2820
|
+
constructor(resourceType: string, resourceId: string);
|
|
2821
|
+
}
|
|
2822
|
+
/**
|
|
2823
|
+
* Thrown when request validation fails.
|
|
2824
|
+
*
|
|
2825
|
+
* @example
|
|
2826
|
+
* ```typescript
|
|
2827
|
+
* try {
|
|
2828
|
+
* await edge.initiateTransfer(accessToken, { type: 'debit', amount: '-100', idempotencyKey: 'x' })
|
|
2829
|
+
* } catch (error) {
|
|
2830
|
+
* if (error instanceof EdgeValidationError) {
|
|
2831
|
+
* console.log('Validation errors:', error.validationErrors)
|
|
2832
|
+
* }
|
|
2833
|
+
* }
|
|
2834
|
+
* ```
|
|
2835
|
+
*/
|
|
2836
|
+
declare class EdgeValidationError extends EdgeError {
|
|
2837
|
+
/** Field-level validation errors. */
|
|
2838
|
+
readonly validationErrors: Record<string, string[]>;
|
|
2839
|
+
constructor(message: string, validationErrors: Record<string, string[]>);
|
|
2840
|
+
}
|
|
2841
|
+
/**
|
|
2842
|
+
* Thrown when a popup is blocked by the browser.
|
|
2843
|
+
*
|
|
2844
|
+
* **What to do:**
|
|
2845
|
+
* - Show a user-friendly message asking them to allow popups
|
|
2846
|
+
* - Ensure EdgeLink.open() is called from a user gesture (click handler)
|
|
2847
|
+
*
|
|
2848
|
+
* @example
|
|
2849
|
+
* ```typescript
|
|
2850
|
+
* try {
|
|
2851
|
+
* link.open()
|
|
2852
|
+
* } catch (error) {
|
|
2853
|
+
* if (error instanceof EdgePopupBlockedError) {
|
|
2854
|
+
* showMessage('Please allow popups for this site and try again')
|
|
2855
|
+
* }
|
|
2856
|
+
* }
|
|
2857
|
+
* ```
|
|
2858
|
+
*/
|
|
2859
|
+
declare class EdgePopupBlockedError extends EdgeError {
|
|
2860
|
+
constructor();
|
|
2861
|
+
toUserMessage(): string;
|
|
2862
|
+
}
|
|
2863
|
+
/**
|
|
2864
|
+
* Thrown when the popup closes unexpectedly (user closed it).
|
|
2865
|
+
*/
|
|
2866
|
+
declare class EdgePopupClosedError extends EdgeError {
|
|
2867
|
+
constructor();
|
|
2868
|
+
}
|
|
2869
|
+
/**
|
|
2870
|
+
* Thrown when state parameter doesn't match (CSRF protection).
|
|
2871
|
+
*/
|
|
2872
|
+
declare class EdgeStateMismatchError extends EdgeError {
|
|
2873
|
+
constructor();
|
|
2874
|
+
}
|
|
2875
|
+
/**
|
|
2876
|
+
* Thrown when a network request fails.
|
|
2877
|
+
*
|
|
2878
|
+
* @example
|
|
2879
|
+
* ```typescript
|
|
2880
|
+
* try {
|
|
2881
|
+
* const balance = await edge.getBalance(accessToken)
|
|
2882
|
+
* } catch (error) {
|
|
2883
|
+
* if (error instanceof EdgeNetworkError) {
|
|
2884
|
+
* showMessage('Network error. Please check your connection and try again.')
|
|
2885
|
+
* }
|
|
2886
|
+
* }
|
|
2887
|
+
* ```
|
|
2888
|
+
*/
|
|
2889
|
+
declare class EdgeNetworkError extends EdgeError {
|
|
2890
|
+
/** The original error that caused the network failure. */
|
|
2891
|
+
readonly cause?: Error;
|
|
2892
|
+
constructor(message?: string, cause?: Error);
|
|
2893
|
+
}
|
|
2894
|
+
/**
|
|
2895
|
+
* Type guard to check if an error is any EDGE Connect error.
|
|
2896
|
+
*
|
|
2897
|
+
* @example
|
|
2898
|
+
* ```typescript
|
|
2899
|
+
* catch (error) {
|
|
2900
|
+
* if (isEdgeError(error)) {
|
|
2901
|
+
* console.log(`EDGE Error: ${error.code}`)
|
|
2902
|
+
* }
|
|
2903
|
+
* }
|
|
2904
|
+
* ```
|
|
2905
|
+
*/
|
|
2906
|
+
declare function isEdgeError(error: unknown): error is EdgeError;
|
|
2907
|
+
/**
|
|
2908
|
+
* Type guard for authentication errors.
|
|
2909
|
+
*/
|
|
2910
|
+
declare function isAuthenticationError(error: unknown): error is EdgeAuthenticationError;
|
|
2911
|
+
/**
|
|
2912
|
+
* Type guard for consent required errors.
|
|
2913
|
+
*/
|
|
2914
|
+
declare function isConsentRequiredError(error: unknown): error is EdgeConsentRequiredError;
|
|
2915
|
+
/**
|
|
2916
|
+
* Type guard for API errors.
|
|
2917
|
+
*/
|
|
2918
|
+
declare function isApiError(error: unknown): error is EdgeApiError;
|
|
2919
|
+
/**
|
|
2920
|
+
* Type guard for network errors.
|
|
2921
|
+
*/
|
|
2922
|
+
declare function isNetworkError(error: unknown): error is EdgeNetworkError;
|
|
2923
|
+
|
|
2924
|
+
/**
|
|
2925
|
+
* @edge-markets/connect
|
|
2926
|
+
*
|
|
2927
|
+
* Core types, configuration, and utilities for EDGE Connect SDK.
|
|
2928
|
+
*
|
|
2929
|
+
* This package provides the foundation for building EDGE Connect integrations:
|
|
2930
|
+
* - Type definitions generated from the OpenAPI spec
|
|
2931
|
+
* - Environment configuration (production, staging, sandbox)
|
|
2932
|
+
* - OAuth scope constants
|
|
2933
|
+
* - Typed error classes
|
|
2934
|
+
*
|
|
2935
|
+
* For browser integration, use `@edge-markets/connect-link`.
|
|
2936
|
+
* For server-side integration, use `@edge-markets/connect-node`.
|
|
2937
|
+
*
|
|
2938
|
+
* @packageDocumentation
|
|
2939
|
+
* @module @edge-markets/connect
|
|
2940
|
+
*
|
|
2941
|
+
* @example
|
|
2942
|
+
* ```typescript
|
|
2943
|
+
* import {
|
|
2944
|
+
* // Types
|
|
2945
|
+
* type User,
|
|
2946
|
+
* type Balance,
|
|
2947
|
+
* type Transfer,
|
|
2948
|
+
* type EdgeTokens,
|
|
2949
|
+
*
|
|
2950
|
+
* // Configuration
|
|
2951
|
+
* EDGE_SCOPES,
|
|
2952
|
+
* getEnvironmentConfig,
|
|
2953
|
+
*
|
|
2954
|
+
* // Errors
|
|
2955
|
+
* EdgeError,
|
|
2956
|
+
* isConsentRequiredError,
|
|
2957
|
+
* } from '@edge-markets/connect'
|
|
2958
|
+
* ```
|
|
2959
|
+
*/
|
|
2960
|
+
|
|
2961
|
+
/**
|
|
2962
|
+
* SDK version.
|
|
2963
|
+
* Useful for debugging and logging.
|
|
2964
|
+
*/
|
|
2965
|
+
declare const SDK_VERSION = "1.0.0";
|
|
2966
|
+
/**
|
|
2967
|
+
* SDK name.
|
|
2968
|
+
*/
|
|
2969
|
+
declare const SDK_NAME = "@edge-markets/connect";
|
|
2970
|
+
|
|
2971
|
+
export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeInsufficientScopeError, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type RevokeConsentResponse, SCOPE_DESCRIPTIONS, SCOPE_ICONS, SDK_NAME, SDK_VERSION, TRANSFER_STATUSES, TRANSFER_TYPES, type Transfer, type TransferList, type TransferListItem, type TransferStatus, type TransferType, type User, type VerifyTransferRequest, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
|