@edge-markets/connect 1.2.0 → 1.4.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 +11 -18
- package/dist/index.d.mts +437 -292
- package/dist/index.d.ts +437 -292
- package/dist/index.js +23 -33
- package/dist/index.mjs +21 -33
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,145 @@
|
|
|
1
|
+
type EdgeEnvironment = 'production' | 'staging' | 'sandbox' | 'development';
|
|
2
|
+
interface EdgeEnvironmentConfig {
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated cognitoDomain is no longer used. Token exchange now goes through EdgeBoost API.
|
|
5
|
+
*/
|
|
6
|
+
cognitoDomain: string;
|
|
7
|
+
apiBaseUrl: string;
|
|
8
|
+
oauthBaseUrl: string;
|
|
9
|
+
userClientUrl: string;
|
|
10
|
+
displayName: string;
|
|
11
|
+
isProduction: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare const EDGE_ENVIRONMENTS: Readonly<Record<EdgeEnvironment, EdgeEnvironmentConfig>>;
|
|
14
|
+
declare function getEnvironmentConfig(environment: EdgeEnvironment): EdgeEnvironmentConfig;
|
|
15
|
+
declare function isProductionEnvironment(environment: EdgeEnvironment): boolean;
|
|
16
|
+
declare function getAvailableEnvironments(): readonly EdgeEnvironment[];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* EDGE Connect OAuth Scopes
|
|
20
|
+
*
|
|
21
|
+
* OAuth scopes define what permissions your application requests from users.
|
|
22
|
+
* Each scope grants access to specific API endpoints.
|
|
23
|
+
*
|
|
24
|
+
* @module @edge-markets/connect/config
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Available OAuth scopes for EDGE Connect.
|
|
28
|
+
*
|
|
29
|
+
* Request the minimum scopes your application needs.
|
|
30
|
+
* Users see these permissions during the consent flow.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // Request only what you need
|
|
35
|
+
* link.open({
|
|
36
|
+
* scopes: [EDGE_SCOPES.USER_READ, EDGE_SCOPES.BALANCE_READ],
|
|
37
|
+
* })
|
|
38
|
+
*
|
|
39
|
+
* // Or request all scopes
|
|
40
|
+
* link.open({
|
|
41
|
+
* scopes: ALL_EDGE_SCOPES,
|
|
42
|
+
* })
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare const EDGE_SCOPES: {
|
|
46
|
+
/**
|
|
47
|
+
* Read user profile information (name, email).
|
|
48
|
+
* Required for: `GET /v1/user`
|
|
49
|
+
*/
|
|
50
|
+
readonly USER_READ: "user.read";
|
|
51
|
+
/**
|
|
52
|
+
* Read account balance.
|
|
53
|
+
* Required for: `GET /v1/balance`
|
|
54
|
+
*/
|
|
55
|
+
readonly BALANCE_READ: "balance.read";
|
|
56
|
+
/**
|
|
57
|
+
* Initiate and verify fund transfers.
|
|
58
|
+
* Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
|
|
59
|
+
*/
|
|
60
|
+
readonly TRANSFER_WRITE: "transfer.write";
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Type representing a valid EDGE Connect scope.
|
|
64
|
+
*/
|
|
65
|
+
type EdgeScope = (typeof EDGE_SCOPES)[keyof typeof EDGE_SCOPES];
|
|
66
|
+
/**
|
|
67
|
+
* All available scopes as an array.
|
|
68
|
+
* Use when you need full access to all API features.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const link = new EdgeLink({
|
|
73
|
+
* clientId: 'your-client-id',
|
|
74
|
+
* environment: 'staging',
|
|
75
|
+
* scopes: ALL_EDGE_SCOPES, // Request all permissions
|
|
76
|
+
* onSuccess: handleSuccess,
|
|
77
|
+
* })
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
declare const ALL_EDGE_SCOPES: readonly EdgeScope[];
|
|
81
|
+
/**
|
|
82
|
+
* Human-readable descriptions for each scope.
|
|
83
|
+
* Useful for building custom consent UIs or explaining permissions.
|
|
84
|
+
*/
|
|
85
|
+
declare const SCOPE_DESCRIPTIONS: Readonly<Record<EdgeScope, string>>;
|
|
86
|
+
/**
|
|
87
|
+
* Icons for each scope (for UI display).
|
|
88
|
+
* Using common icon library names (e.g., Lucide, Heroicons).
|
|
89
|
+
*/
|
|
90
|
+
declare const SCOPE_ICONS: Readonly<Record<EdgeScope, string>>;
|
|
91
|
+
/**
|
|
92
|
+
* Builds the full scope string for a given environment.
|
|
93
|
+
*
|
|
94
|
+
* Different environments may use different scope prefixes in the API Gateway.
|
|
95
|
+
* This function handles the prefix automatically.
|
|
96
|
+
*
|
|
97
|
+
* Note: 'development' environment uses 'staging' scope prefix because it
|
|
98
|
+
* connects to the staging API Gateway for local testing.
|
|
99
|
+
*
|
|
100
|
+
* @param scope - The scope to format
|
|
101
|
+
* @param environment - The target environment
|
|
102
|
+
* @returns The full scope string for API Gateway authorization
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* formatScopeForEnvironment('user.read', 'staging')
|
|
107
|
+
* // Returns: 'edge-connect-staging/user.read'
|
|
108
|
+
*
|
|
109
|
+
* formatScopeForEnvironment('user.read', 'production')
|
|
110
|
+
* // Returns: 'edge-connect/user.read'
|
|
111
|
+
*
|
|
112
|
+
* formatScopeForEnvironment('user.read', 'development')
|
|
113
|
+
* // Returns: 'edge-connect-staging/user.read' (maps to staging)
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
declare function formatScopeForEnvironment(scope: EdgeScope, environment: 'production' | 'staging' | 'sandbox' | 'development'): string;
|
|
117
|
+
/**
|
|
118
|
+
* Formats multiple scopes for an environment.
|
|
119
|
+
*
|
|
120
|
+
* @param scopes - Array of scopes to format
|
|
121
|
+
* @param environment - The target environment
|
|
122
|
+
* @returns Array of full scope strings
|
|
123
|
+
*/
|
|
124
|
+
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment: 'production' | 'staging' | 'sandbox' | 'development'): string[];
|
|
125
|
+
/**
|
|
126
|
+
* Parses a full scope string to extract the base scope.
|
|
127
|
+
*
|
|
128
|
+
* @param fullScope - The full scope string (e.g., 'edge-connect-staging/user.read')
|
|
129
|
+
* @returns The base scope (e.g., 'user.read') or null if invalid
|
|
130
|
+
*/
|
|
131
|
+
declare function parseScope(fullScope: string): EdgeScope | null;
|
|
132
|
+
/**
|
|
133
|
+
* Checks if a scope string is valid.
|
|
134
|
+
*/
|
|
135
|
+
declare function isValidScope(scope: string): scope is EdgeScope;
|
|
136
|
+
|
|
1
137
|
/**
|
|
2
138
|
* This file was auto-generated by openapi-typescript.
|
|
3
139
|
* Do not make direct changes to the file.
|
|
4
140
|
*/
|
|
5
141
|
interface paths {
|
|
6
|
-
|
|
142
|
+
'/auth/register': {
|
|
7
143
|
parameters: {
|
|
8
144
|
query?: never;
|
|
9
145
|
header?: never;
|
|
@@ -12,14 +148,14 @@ interface paths {
|
|
|
12
148
|
};
|
|
13
149
|
get?: never;
|
|
14
150
|
put?: never;
|
|
15
|
-
post: operations[
|
|
151
|
+
post: operations['RegistrationController_register'];
|
|
16
152
|
delete?: never;
|
|
17
153
|
options?: never;
|
|
18
154
|
head?: never;
|
|
19
155
|
patch?: never;
|
|
20
156
|
trace?: never;
|
|
21
157
|
};
|
|
22
|
-
|
|
158
|
+
'/auth/verify-email-otp': {
|
|
23
159
|
parameters: {
|
|
24
160
|
query?: never;
|
|
25
161
|
header?: never;
|
|
@@ -28,14 +164,14 @@ interface paths {
|
|
|
28
164
|
};
|
|
29
165
|
get?: never;
|
|
30
166
|
put?: never;
|
|
31
|
-
post: operations[
|
|
167
|
+
post: operations['RegistrationController_verifyEmailOTP'];
|
|
32
168
|
delete?: never;
|
|
33
169
|
options?: never;
|
|
34
170
|
head?: never;
|
|
35
171
|
patch?: never;
|
|
36
172
|
trace?: never;
|
|
37
173
|
};
|
|
38
|
-
|
|
174
|
+
'/auth/accept-terms': {
|
|
39
175
|
parameters: {
|
|
40
176
|
query?: never;
|
|
41
177
|
header?: never;
|
|
@@ -44,14 +180,14 @@ interface paths {
|
|
|
44
180
|
};
|
|
45
181
|
get?: never;
|
|
46
182
|
put?: never;
|
|
47
|
-
post: operations[
|
|
183
|
+
post: operations['RegistrationController_acceptTerms'];
|
|
48
184
|
delete?: never;
|
|
49
185
|
options?: never;
|
|
50
186
|
head?: never;
|
|
51
187
|
patch?: never;
|
|
52
188
|
trace?: never;
|
|
53
189
|
};
|
|
54
|
-
|
|
190
|
+
'/auth/complete-profile': {
|
|
55
191
|
parameters: {
|
|
56
192
|
query?: never;
|
|
57
193
|
header?: never;
|
|
@@ -60,14 +196,14 @@ interface paths {
|
|
|
60
196
|
};
|
|
61
197
|
get?: never;
|
|
62
198
|
put?: never;
|
|
63
|
-
post: operations[
|
|
199
|
+
post: operations['RegistrationController_completeProfile'];
|
|
64
200
|
delete?: never;
|
|
65
201
|
options?: never;
|
|
66
202
|
head?: never;
|
|
67
203
|
patch?: never;
|
|
68
204
|
trace?: never;
|
|
69
205
|
};
|
|
70
|
-
|
|
206
|
+
'/auth/update-ssn': {
|
|
71
207
|
parameters: {
|
|
72
208
|
query?: never;
|
|
73
209
|
header?: never;
|
|
@@ -76,14 +212,14 @@ interface paths {
|
|
|
76
212
|
};
|
|
77
213
|
get?: never;
|
|
78
214
|
put?: never;
|
|
79
|
-
post: operations[
|
|
215
|
+
post: operations['RegistrationController_updateSSN'];
|
|
80
216
|
delete?: never;
|
|
81
217
|
options?: never;
|
|
82
218
|
head?: never;
|
|
83
219
|
patch?: never;
|
|
84
220
|
trace?: never;
|
|
85
221
|
};
|
|
86
|
-
|
|
222
|
+
'/auth/setup-mfa': {
|
|
87
223
|
parameters: {
|
|
88
224
|
query?: never;
|
|
89
225
|
header?: never;
|
|
@@ -92,14 +228,14 @@ interface paths {
|
|
|
92
228
|
};
|
|
93
229
|
get?: never;
|
|
94
230
|
put?: never;
|
|
95
|
-
post: operations[
|
|
231
|
+
post: operations['MFASetupController_setupMFA'];
|
|
96
232
|
delete?: never;
|
|
97
233
|
options?: never;
|
|
98
234
|
head?: never;
|
|
99
235
|
patch?: never;
|
|
100
236
|
trace?: never;
|
|
101
237
|
};
|
|
102
|
-
|
|
238
|
+
'/auth/resend-sms-setup': {
|
|
103
239
|
parameters: {
|
|
104
240
|
query?: never;
|
|
105
241
|
header?: never;
|
|
@@ -108,14 +244,14 @@ interface paths {
|
|
|
108
244
|
};
|
|
109
245
|
get?: never;
|
|
110
246
|
put?: never;
|
|
111
|
-
post: operations[
|
|
247
|
+
post: operations['MFASetupController_resendSMSSetup'];
|
|
112
248
|
delete?: never;
|
|
113
249
|
options?: never;
|
|
114
250
|
head?: never;
|
|
115
251
|
patch?: never;
|
|
116
252
|
trace?: never;
|
|
117
253
|
};
|
|
118
|
-
|
|
254
|
+
'/auth/verify-authenticator-setup': {
|
|
119
255
|
parameters: {
|
|
120
256
|
query?: never;
|
|
121
257
|
header?: never;
|
|
@@ -124,14 +260,14 @@ interface paths {
|
|
|
124
260
|
};
|
|
125
261
|
get?: never;
|
|
126
262
|
put?: never;
|
|
127
|
-
post: operations[
|
|
263
|
+
post: operations['MFASetupController_verifyAuthenticatorSetup'];
|
|
128
264
|
delete?: never;
|
|
129
265
|
options?: never;
|
|
130
266
|
head?: never;
|
|
131
267
|
patch?: never;
|
|
132
268
|
trace?: never;
|
|
133
269
|
};
|
|
134
|
-
|
|
270
|
+
'/auth/verify-sms-setup': {
|
|
135
271
|
parameters: {
|
|
136
272
|
query?: never;
|
|
137
273
|
header?: never;
|
|
@@ -140,14 +276,14 @@ interface paths {
|
|
|
140
276
|
};
|
|
141
277
|
get?: never;
|
|
142
278
|
put?: never;
|
|
143
|
-
post: operations[
|
|
279
|
+
post: operations['MFASetupController_verifySMSSetup'];
|
|
144
280
|
delete?: never;
|
|
145
281
|
options?: never;
|
|
146
282
|
head?: never;
|
|
147
283
|
patch?: never;
|
|
148
284
|
trace?: never;
|
|
149
285
|
};
|
|
150
|
-
|
|
286
|
+
'/auth/login': {
|
|
151
287
|
parameters: {
|
|
152
288
|
query?: never;
|
|
153
289
|
header?: never;
|
|
@@ -156,14 +292,14 @@ interface paths {
|
|
|
156
292
|
};
|
|
157
293
|
get?: never;
|
|
158
294
|
put?: never;
|
|
159
|
-
post: operations[
|
|
295
|
+
post: operations['LoginController_login'];
|
|
160
296
|
delete?: never;
|
|
161
297
|
options?: never;
|
|
162
298
|
head?: never;
|
|
163
299
|
patch?: never;
|
|
164
300
|
trace?: never;
|
|
165
301
|
};
|
|
166
|
-
|
|
302
|
+
'/auth/verify-login-otp': {
|
|
167
303
|
parameters: {
|
|
168
304
|
query?: never;
|
|
169
305
|
header?: never;
|
|
@@ -172,14 +308,14 @@ interface paths {
|
|
|
172
308
|
};
|
|
173
309
|
get?: never;
|
|
174
310
|
put?: never;
|
|
175
|
-
post: operations[
|
|
311
|
+
post: operations['LoginController_verifyLoginOTP'];
|
|
176
312
|
delete?: never;
|
|
177
313
|
options?: never;
|
|
178
314
|
head?: never;
|
|
179
315
|
patch?: never;
|
|
180
316
|
trace?: never;
|
|
181
317
|
};
|
|
182
|
-
|
|
318
|
+
'/auth/verify-mfa': {
|
|
183
319
|
parameters: {
|
|
184
320
|
query?: never;
|
|
185
321
|
header?: never;
|
|
@@ -188,14 +324,14 @@ interface paths {
|
|
|
188
324
|
};
|
|
189
325
|
get?: never;
|
|
190
326
|
put?: never;
|
|
191
|
-
post: operations[
|
|
327
|
+
post: operations['LoginController_verifyMFA'];
|
|
192
328
|
delete?: never;
|
|
193
329
|
options?: never;
|
|
194
330
|
head?: never;
|
|
195
331
|
patch?: never;
|
|
196
332
|
trace?: never;
|
|
197
333
|
};
|
|
198
|
-
|
|
334
|
+
'/auth/resend-email-otp': {
|
|
199
335
|
parameters: {
|
|
200
336
|
query?: never;
|
|
201
337
|
header?: never;
|
|
@@ -204,14 +340,14 @@ interface paths {
|
|
|
204
340
|
};
|
|
205
341
|
get?: never;
|
|
206
342
|
put?: never;
|
|
207
|
-
post: operations[
|
|
343
|
+
post: operations['LoginController_resendEmailOTP'];
|
|
208
344
|
delete?: never;
|
|
209
345
|
options?: never;
|
|
210
346
|
head?: never;
|
|
211
347
|
patch?: never;
|
|
212
348
|
trace?: never;
|
|
213
349
|
};
|
|
214
|
-
|
|
350
|
+
'/auth/resend-sms-mfa': {
|
|
215
351
|
parameters: {
|
|
216
352
|
query?: never;
|
|
217
353
|
header?: never;
|
|
@@ -220,14 +356,14 @@ interface paths {
|
|
|
220
356
|
};
|
|
221
357
|
get?: never;
|
|
222
358
|
put?: never;
|
|
223
|
-
post: operations[
|
|
359
|
+
post: operations['LoginController_resendSMSMFA'];
|
|
224
360
|
delete?: never;
|
|
225
361
|
options?: never;
|
|
226
362
|
head?: never;
|
|
227
363
|
patch?: never;
|
|
228
364
|
trace?: never;
|
|
229
365
|
};
|
|
230
|
-
|
|
366
|
+
'/auth/refresh-token': {
|
|
231
367
|
parameters: {
|
|
232
368
|
query?: never;
|
|
233
369
|
header?: never;
|
|
@@ -236,14 +372,14 @@ interface paths {
|
|
|
236
372
|
};
|
|
237
373
|
get?: never;
|
|
238
374
|
put?: never;
|
|
239
|
-
post: operations[
|
|
375
|
+
post: operations['LoginController_refreshToken'];
|
|
240
376
|
delete?: never;
|
|
241
377
|
options?: never;
|
|
242
378
|
head?: never;
|
|
243
379
|
patch?: never;
|
|
244
380
|
trace?: never;
|
|
245
381
|
};
|
|
246
|
-
|
|
382
|
+
'/auth/debug/ip': {
|
|
247
383
|
parameters: {
|
|
248
384
|
query?: never;
|
|
249
385
|
header?: never;
|
|
@@ -252,22 +388,22 @@ interface paths {
|
|
|
252
388
|
};
|
|
253
389
|
get?: never;
|
|
254
390
|
put?: never;
|
|
255
|
-
post: operations[
|
|
391
|
+
post: operations['LoginController_debugIp'];
|
|
256
392
|
delete?: never;
|
|
257
393
|
options?: never;
|
|
258
394
|
head?: never;
|
|
259
395
|
patch?: never;
|
|
260
396
|
trace?: never;
|
|
261
397
|
};
|
|
262
|
-
|
|
398
|
+
'/auth/profile': {
|
|
263
399
|
parameters: {
|
|
264
400
|
query?: never;
|
|
265
401
|
header?: never;
|
|
266
402
|
path?: never;
|
|
267
403
|
cookie?: never;
|
|
268
404
|
};
|
|
269
|
-
get: operations[
|
|
270
|
-
put: operations[
|
|
405
|
+
get: operations['ProfileController_getProfile'];
|
|
406
|
+
put: operations['ProfileController_updateProfile'];
|
|
271
407
|
post?: never;
|
|
272
408
|
delete?: never;
|
|
273
409
|
options?: never;
|
|
@@ -275,7 +411,7 @@ interface paths {
|
|
|
275
411
|
patch?: never;
|
|
276
412
|
trace?: never;
|
|
277
413
|
};
|
|
278
|
-
|
|
414
|
+
'/auth/fill-account-vip': {
|
|
279
415
|
parameters: {
|
|
280
416
|
query?: never;
|
|
281
417
|
header?: never;
|
|
@@ -283,7 +419,7 @@ interface paths {
|
|
|
283
419
|
cookie?: never;
|
|
284
420
|
};
|
|
285
421
|
get?: never;
|
|
286
|
-
put: operations[
|
|
422
|
+
put: operations['ProfileController_fillAccountVIP'];
|
|
287
423
|
post?: never;
|
|
288
424
|
delete?: never;
|
|
289
425
|
options?: never;
|
|
@@ -291,7 +427,7 @@ interface paths {
|
|
|
291
427
|
patch?: never;
|
|
292
428
|
trace?: never;
|
|
293
429
|
};
|
|
294
|
-
|
|
430
|
+
'/auth/logout': {
|
|
295
431
|
parameters: {
|
|
296
432
|
query?: never;
|
|
297
433
|
header?: never;
|
|
@@ -300,14 +436,14 @@ interface paths {
|
|
|
300
436
|
};
|
|
301
437
|
get?: never;
|
|
302
438
|
put?: never;
|
|
303
|
-
post: operations[
|
|
439
|
+
post: operations['LogoutController_logout'];
|
|
304
440
|
delete?: never;
|
|
305
441
|
options?: never;
|
|
306
442
|
head?: never;
|
|
307
443
|
patch?: never;
|
|
308
444
|
trace?: never;
|
|
309
445
|
};
|
|
310
|
-
|
|
446
|
+
'/vgs/ping': {
|
|
311
447
|
parameters: {
|
|
312
448
|
query?: never;
|
|
313
449
|
header?: never;
|
|
@@ -316,21 +452,21 @@ interface paths {
|
|
|
316
452
|
};
|
|
317
453
|
get?: never;
|
|
318
454
|
put?: never;
|
|
319
|
-
post: operations[
|
|
455
|
+
post: operations['VGSController_pingGalileo'];
|
|
320
456
|
delete?: never;
|
|
321
457
|
options?: never;
|
|
322
458
|
head?: never;
|
|
323
459
|
patch?: never;
|
|
324
460
|
trace?: never;
|
|
325
461
|
};
|
|
326
|
-
|
|
462
|
+
'/vgs/card/{cardId}': {
|
|
327
463
|
parameters: {
|
|
328
464
|
query?: never;
|
|
329
465
|
header?: never;
|
|
330
466
|
path?: never;
|
|
331
467
|
cookie?: never;
|
|
332
468
|
};
|
|
333
|
-
get: operations[
|
|
469
|
+
get: operations['VGSController_getCardDetails'];
|
|
334
470
|
put?: never;
|
|
335
471
|
post?: never;
|
|
336
472
|
delete?: never;
|
|
@@ -339,7 +475,7 @@ interface paths {
|
|
|
339
475
|
patch?: never;
|
|
340
476
|
trace?: never;
|
|
341
477
|
};
|
|
342
|
-
|
|
478
|
+
'/vgs/card/{cardId}/pin-change-key': {
|
|
343
479
|
parameters: {
|
|
344
480
|
query?: never;
|
|
345
481
|
header?: never;
|
|
@@ -348,14 +484,14 @@ interface paths {
|
|
|
348
484
|
};
|
|
349
485
|
get?: never;
|
|
350
486
|
put?: never;
|
|
351
|
-
post: operations[
|
|
487
|
+
post: operations['VGSController_getPinChangeKey'];
|
|
352
488
|
delete?: never;
|
|
353
489
|
options?: never;
|
|
354
490
|
head?: never;
|
|
355
491
|
patch?: never;
|
|
356
492
|
trace?: never;
|
|
357
493
|
};
|
|
358
|
-
|
|
494
|
+
'/vgs/card/{cardId}/commit-pin-change': {
|
|
359
495
|
parameters: {
|
|
360
496
|
query?: never;
|
|
361
497
|
header?: never;
|
|
@@ -364,21 +500,21 @@ interface paths {
|
|
|
364
500
|
};
|
|
365
501
|
get?: never;
|
|
366
502
|
put?: never;
|
|
367
|
-
post: operations[
|
|
503
|
+
post: operations['VGSController_commitPinChange'];
|
|
368
504
|
delete?: never;
|
|
369
505
|
options?: never;
|
|
370
506
|
head?: never;
|
|
371
507
|
patch?: never;
|
|
372
508
|
trace?: never;
|
|
373
509
|
};
|
|
374
|
-
|
|
510
|
+
'/admin/migration/status': {
|
|
375
511
|
parameters: {
|
|
376
512
|
query?: never;
|
|
377
513
|
header?: never;
|
|
378
514
|
path?: never;
|
|
379
515
|
cookie?: never;
|
|
380
516
|
};
|
|
381
|
-
get: operations[
|
|
517
|
+
get: operations['MigrationController_getStatus'];
|
|
382
518
|
put?: never;
|
|
383
519
|
post?: never;
|
|
384
520
|
delete?: never;
|
|
@@ -387,7 +523,7 @@ interface paths {
|
|
|
387
523
|
patch?: never;
|
|
388
524
|
trace?: never;
|
|
389
525
|
};
|
|
390
|
-
|
|
526
|
+
'/admin/migration/mark-users': {
|
|
391
527
|
parameters: {
|
|
392
528
|
query?: never;
|
|
393
529
|
header?: never;
|
|
@@ -396,14 +532,14 @@ interface paths {
|
|
|
396
532
|
};
|
|
397
533
|
get?: never;
|
|
398
534
|
put?: never;
|
|
399
|
-
post: operations[
|
|
535
|
+
post: operations['MigrationController_markUsers'];
|
|
400
536
|
delete?: never;
|
|
401
537
|
options?: never;
|
|
402
538
|
head?: never;
|
|
403
539
|
patch?: never;
|
|
404
540
|
trace?: never;
|
|
405
541
|
};
|
|
406
|
-
|
|
542
|
+
'/admin/migration/validate': {
|
|
407
543
|
parameters: {
|
|
408
544
|
query?: never;
|
|
409
545
|
header?: never;
|
|
@@ -412,14 +548,14 @@ interface paths {
|
|
|
412
548
|
};
|
|
413
549
|
get?: never;
|
|
414
550
|
put?: never;
|
|
415
|
-
post: operations[
|
|
551
|
+
post: operations['MigrationController_validateUsers'];
|
|
416
552
|
delete?: never;
|
|
417
553
|
options?: never;
|
|
418
554
|
head?: never;
|
|
419
555
|
patch?: never;
|
|
420
556
|
trace?: never;
|
|
421
557
|
};
|
|
422
|
-
|
|
558
|
+
'/admin/migration/preview': {
|
|
423
559
|
parameters: {
|
|
424
560
|
query?: never;
|
|
425
561
|
header?: never;
|
|
@@ -428,14 +564,14 @@ interface paths {
|
|
|
428
564
|
};
|
|
429
565
|
get?: never;
|
|
430
566
|
put?: never;
|
|
431
|
-
post: operations[
|
|
567
|
+
post: operations['MigrationController_preview'];
|
|
432
568
|
delete?: never;
|
|
433
569
|
options?: never;
|
|
434
570
|
head?: never;
|
|
435
571
|
patch?: never;
|
|
436
572
|
trace?: never;
|
|
437
573
|
};
|
|
438
|
-
|
|
574
|
+
'/admin/migration/trigger': {
|
|
439
575
|
parameters: {
|
|
440
576
|
query?: never;
|
|
441
577
|
header?: never;
|
|
@@ -444,21 +580,21 @@ interface paths {
|
|
|
444
580
|
};
|
|
445
581
|
get?: never;
|
|
446
582
|
put?: never;
|
|
447
|
-
post: operations[
|
|
583
|
+
post: operations['MigrationController_triggerMigration'];
|
|
448
584
|
delete?: never;
|
|
449
585
|
options?: never;
|
|
450
586
|
head?: never;
|
|
451
587
|
patch?: never;
|
|
452
588
|
trace?: never;
|
|
453
589
|
};
|
|
454
|
-
|
|
590
|
+
'/admin/migration/pending': {
|
|
455
591
|
parameters: {
|
|
456
592
|
query?: never;
|
|
457
593
|
header?: never;
|
|
458
594
|
path?: never;
|
|
459
595
|
cookie?: never;
|
|
460
596
|
};
|
|
461
|
-
get: operations[
|
|
597
|
+
get: operations['MigrationController_getPending'];
|
|
462
598
|
put?: never;
|
|
463
599
|
post?: never;
|
|
464
600
|
delete?: never;
|
|
@@ -467,7 +603,7 @@ interface paths {
|
|
|
467
603
|
patch?: never;
|
|
468
604
|
trace?: never;
|
|
469
605
|
};
|
|
470
|
-
|
|
606
|
+
'/admin/migration/rollback/{userId}': {
|
|
471
607
|
parameters: {
|
|
472
608
|
query?: never;
|
|
473
609
|
header?: never;
|
|
@@ -476,21 +612,21 @@ interface paths {
|
|
|
476
612
|
};
|
|
477
613
|
get?: never;
|
|
478
614
|
put?: never;
|
|
479
|
-
post: operations[
|
|
615
|
+
post: operations['MigrationController_rollbackUser'];
|
|
480
616
|
delete?: never;
|
|
481
617
|
options?: never;
|
|
482
618
|
head?: never;
|
|
483
619
|
patch?: never;
|
|
484
620
|
trace?: never;
|
|
485
621
|
};
|
|
486
|
-
|
|
622
|
+
'/hubspot/identification-token': {
|
|
487
623
|
parameters: {
|
|
488
624
|
query?: never;
|
|
489
625
|
header?: never;
|
|
490
626
|
path?: never;
|
|
491
627
|
cookie?: never;
|
|
492
628
|
};
|
|
493
|
-
get: operations[
|
|
629
|
+
get: operations['HubspotController_getIdentificationToken'];
|
|
494
630
|
put?: never;
|
|
495
631
|
post?: never;
|
|
496
632
|
delete?: never;
|
|
@@ -499,7 +635,7 @@ interface paths {
|
|
|
499
635
|
patch?: never;
|
|
500
636
|
trace?: never;
|
|
501
637
|
};
|
|
502
|
-
|
|
638
|
+
'/v1/user': {
|
|
503
639
|
parameters: {
|
|
504
640
|
query?: never;
|
|
505
641
|
header?: never;
|
|
@@ -510,7 +646,7 @@ interface paths {
|
|
|
510
646
|
* Get user profile
|
|
511
647
|
* @description Returns the authenticated user's profile information including name and email.
|
|
512
648
|
*/
|
|
513
|
-
get: operations[
|
|
649
|
+
get: operations['getUser'];
|
|
514
650
|
put?: never;
|
|
515
651
|
post?: never;
|
|
516
652
|
delete?: never;
|
|
@@ -519,7 +655,7 @@ interface paths {
|
|
|
519
655
|
patch?: never;
|
|
520
656
|
trace?: never;
|
|
521
657
|
};
|
|
522
|
-
|
|
658
|
+
'/v1/balance': {
|
|
523
659
|
parameters: {
|
|
524
660
|
query?: never;
|
|
525
661
|
header?: never;
|
|
@@ -530,7 +666,7 @@ interface paths {
|
|
|
530
666
|
* Get user balance
|
|
531
667
|
* @description Returns the authenticated user's current EdgeBoost balance.
|
|
532
668
|
*/
|
|
533
|
-
get: operations[
|
|
669
|
+
get: operations['getBalance'];
|
|
534
670
|
put?: never;
|
|
535
671
|
post?: never;
|
|
536
672
|
delete?: never;
|
|
@@ -539,7 +675,7 @@ interface paths {
|
|
|
539
675
|
patch?: never;
|
|
540
676
|
trace?: never;
|
|
541
677
|
};
|
|
542
|
-
|
|
678
|
+
'/v1/transfer': {
|
|
543
679
|
parameters: {
|
|
544
680
|
query?: never;
|
|
545
681
|
header?: never;
|
|
@@ -562,14 +698,14 @@ interface paths {
|
|
|
562
698
|
* **OTP Verification:**
|
|
563
699
|
* After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verify` with the OTP to complete.
|
|
564
700
|
*/
|
|
565
|
-
post: operations[
|
|
701
|
+
post: operations['initiateTransfer'];
|
|
566
702
|
delete?: never;
|
|
567
703
|
options?: never;
|
|
568
704
|
head?: never;
|
|
569
705
|
patch?: never;
|
|
570
706
|
trace?: never;
|
|
571
707
|
};
|
|
572
|
-
|
|
708
|
+
'/v1/transfer/{transferId}': {
|
|
573
709
|
parameters: {
|
|
574
710
|
query?: never;
|
|
575
711
|
header?: never;
|
|
@@ -580,7 +716,7 @@ interface paths {
|
|
|
580
716
|
* Get transfer status
|
|
581
717
|
* @description Returns the current status of a transfer. Use this for polling after initiating a transfer.
|
|
582
718
|
*/
|
|
583
|
-
get: operations[
|
|
719
|
+
get: operations['getTransferStatus'];
|
|
584
720
|
put?: never;
|
|
585
721
|
post?: never;
|
|
586
722
|
delete?: never;
|
|
@@ -589,7 +725,7 @@ interface paths {
|
|
|
589
725
|
patch?: never;
|
|
590
726
|
trace?: never;
|
|
591
727
|
};
|
|
592
|
-
|
|
728
|
+
'/v1/transfers': {
|
|
593
729
|
parameters: {
|
|
594
730
|
query?: never;
|
|
595
731
|
header?: never;
|
|
@@ -600,7 +736,7 @@ interface paths {
|
|
|
600
736
|
* List transfers
|
|
601
737
|
* @description Returns a paginated list of transfers for the authenticated user. Useful for reconciliation.
|
|
602
738
|
*/
|
|
603
|
-
get: operations[
|
|
739
|
+
get: operations['listTransfers'];
|
|
604
740
|
put?: never;
|
|
605
741
|
post?: never;
|
|
606
742
|
delete?: never;
|
|
@@ -609,7 +745,7 @@ interface paths {
|
|
|
609
745
|
patch?: never;
|
|
610
746
|
trace?: never;
|
|
611
747
|
};
|
|
612
|
-
|
|
748
|
+
'/v1/transfer/{transferId}/verify': {
|
|
613
749
|
parameters: {
|
|
614
750
|
query?: never;
|
|
615
751
|
header?: never;
|
|
@@ -628,14 +764,14 @@ interface paths {
|
|
|
628
764
|
*
|
|
629
765
|
* The OTP method is indicated in the `otpMethod` field of the transfer response.
|
|
630
766
|
*/
|
|
631
|
-
post: operations[
|
|
767
|
+
post: operations['verifyTransfer'];
|
|
632
768
|
delete?: never;
|
|
633
769
|
options?: never;
|
|
634
770
|
head?: never;
|
|
635
771
|
patch?: never;
|
|
636
772
|
trace?: never;
|
|
637
773
|
};
|
|
638
|
-
|
|
774
|
+
'/v1/consent': {
|
|
639
775
|
parameters: {
|
|
640
776
|
query?: never;
|
|
641
777
|
header?: never;
|
|
@@ -654,36 +790,36 @@ interface paths {
|
|
|
654
790
|
* - The user must re-authenticate and grant consent to restore access
|
|
655
791
|
* - Partners should implement this as a "disconnect" or "unlink" feature
|
|
656
792
|
*/
|
|
657
|
-
delete: operations[
|
|
793
|
+
delete: operations['revokeConsent'];
|
|
658
794
|
options?: never;
|
|
659
795
|
head?: never;
|
|
660
796
|
patch?: never;
|
|
661
797
|
trace?: never;
|
|
662
798
|
};
|
|
663
|
-
|
|
799
|
+
'/oauth/consent': {
|
|
664
800
|
parameters: {
|
|
665
801
|
query?: never;
|
|
666
802
|
header?: never;
|
|
667
803
|
path?: never;
|
|
668
804
|
cookie?: never;
|
|
669
805
|
};
|
|
670
|
-
get: operations[
|
|
806
|
+
get: operations['ConsentController_showConsentPage'];
|
|
671
807
|
put?: never;
|
|
672
|
-
post: operations[
|
|
808
|
+
post: operations['ConsentController_handleConsentDecision'];
|
|
673
809
|
delete?: never;
|
|
674
810
|
options?: never;
|
|
675
811
|
head?: never;
|
|
676
812
|
patch?: never;
|
|
677
813
|
trace?: never;
|
|
678
814
|
};
|
|
679
|
-
|
|
815
|
+
'/api/v3/user/connected-apps': {
|
|
680
816
|
parameters: {
|
|
681
817
|
query?: never;
|
|
682
818
|
header?: never;
|
|
683
819
|
path?: never;
|
|
684
820
|
cookie?: never;
|
|
685
821
|
};
|
|
686
|
-
get: operations[
|
|
822
|
+
get: operations['ConnectedAppsController_getConnectedApps'];
|
|
687
823
|
put?: never;
|
|
688
824
|
post?: never;
|
|
689
825
|
delete?: never;
|
|
@@ -692,7 +828,7 @@ interface paths {
|
|
|
692
828
|
patch?: never;
|
|
693
829
|
trace?: never;
|
|
694
830
|
};
|
|
695
|
-
|
|
831
|
+
'/api/v3/user/connected-apps/{clientId}': {
|
|
696
832
|
parameters: {
|
|
697
833
|
query?: never;
|
|
698
834
|
header?: never;
|
|
@@ -702,20 +838,20 @@ interface paths {
|
|
|
702
838
|
get?: never;
|
|
703
839
|
put?: never;
|
|
704
840
|
post?: never;
|
|
705
|
-
delete: operations[
|
|
841
|
+
delete: operations['ConnectedAppsController_revokeApp'];
|
|
706
842
|
options?: never;
|
|
707
843
|
head?: never;
|
|
708
844
|
patch?: never;
|
|
709
845
|
trace?: never;
|
|
710
846
|
};
|
|
711
|
-
|
|
847
|
+
'/health': {
|
|
712
848
|
parameters: {
|
|
713
849
|
query?: never;
|
|
714
850
|
header?: never;
|
|
715
851
|
path?: never;
|
|
716
852
|
cookie?: never;
|
|
717
853
|
};
|
|
718
|
-
get: operations[
|
|
854
|
+
get: operations['AppController_getHealth'];
|
|
719
855
|
put?: never;
|
|
720
856
|
post?: never;
|
|
721
857
|
delete?: never;
|
|
@@ -724,46 +860,46 @@ interface paths {
|
|
|
724
860
|
patch?: never;
|
|
725
861
|
trace?: never;
|
|
726
862
|
};
|
|
727
|
-
|
|
863
|
+
'/test': {
|
|
728
864
|
parameters: {
|
|
729
865
|
query?: never;
|
|
730
866
|
header?: never;
|
|
731
867
|
path?: never;
|
|
732
868
|
cookie?: never;
|
|
733
869
|
};
|
|
734
|
-
get: operations[
|
|
870
|
+
get: operations['TestController_getAll'];
|
|
735
871
|
put?: never;
|
|
736
|
-
post: operations[
|
|
872
|
+
post: operations['TestController_create'];
|
|
737
873
|
delete?: never;
|
|
738
874
|
options?: never;
|
|
739
875
|
head?: never;
|
|
740
876
|
patch?: never;
|
|
741
877
|
trace?: never;
|
|
742
878
|
};
|
|
743
|
-
|
|
879
|
+
'/test/{id}': {
|
|
744
880
|
parameters: {
|
|
745
881
|
query?: never;
|
|
746
882
|
header?: never;
|
|
747
883
|
path?: never;
|
|
748
884
|
cookie?: never;
|
|
749
885
|
};
|
|
750
|
-
get: operations[
|
|
751
|
-
put: operations[
|
|
886
|
+
get: operations['TestController_getById'];
|
|
887
|
+
put: operations['TestController_update'];
|
|
752
888
|
post?: never;
|
|
753
|
-
delete: operations[
|
|
889
|
+
delete: operations['TestController_delete'];
|
|
754
890
|
options?: never;
|
|
755
891
|
head?: never;
|
|
756
892
|
patch?: never;
|
|
757
893
|
trace?: never;
|
|
758
894
|
};
|
|
759
|
-
|
|
895
|
+
'/test/legacy/data': {
|
|
760
896
|
parameters: {
|
|
761
897
|
query?: never;
|
|
762
898
|
header?: never;
|
|
763
899
|
path?: never;
|
|
764
900
|
cookie?: never;
|
|
765
901
|
};
|
|
766
|
-
get: operations[
|
|
902
|
+
get: operations['TestController_getLegacyData'];
|
|
767
903
|
put?: never;
|
|
768
904
|
post?: never;
|
|
769
905
|
delete?: never;
|
|
@@ -772,14 +908,14 @@ interface paths {
|
|
|
772
908
|
patch?: never;
|
|
773
909
|
trace?: never;
|
|
774
910
|
};
|
|
775
|
-
|
|
911
|
+
'/config-test': {
|
|
776
912
|
parameters: {
|
|
777
913
|
query?: never;
|
|
778
914
|
header?: never;
|
|
779
915
|
path?: never;
|
|
780
916
|
cookie?: never;
|
|
781
917
|
};
|
|
782
|
-
get: operations[
|
|
918
|
+
get: operations['ConfigTestController_getConfigInfo'];
|
|
783
919
|
put?: never;
|
|
784
920
|
post?: never;
|
|
785
921
|
delete?: never;
|
|
@@ -788,14 +924,14 @@ interface paths {
|
|
|
788
924
|
patch?: never;
|
|
789
925
|
trace?: never;
|
|
790
926
|
};
|
|
791
|
-
|
|
927
|
+
'/config-test/raw': {
|
|
792
928
|
parameters: {
|
|
793
929
|
query?: never;
|
|
794
930
|
header?: never;
|
|
795
931
|
path?: never;
|
|
796
932
|
cookie?: never;
|
|
797
933
|
};
|
|
798
|
-
get: operations[
|
|
934
|
+
get: operations['ConfigTestController_getRawConfigValues'];
|
|
799
935
|
put?: never;
|
|
800
936
|
post?: never;
|
|
801
937
|
delete?: never;
|
|
@@ -923,7 +1059,7 @@ interface components {
|
|
|
923
1059
|
* @example debit
|
|
924
1060
|
* @enum {string}
|
|
925
1061
|
*/
|
|
926
|
-
type:
|
|
1062
|
+
type: 'debit' | 'credit';
|
|
927
1063
|
/**
|
|
928
1064
|
* @description Amount to transfer in USD (as string to preserve precision)
|
|
929
1065
|
* @example 100.00
|
|
@@ -946,13 +1082,13 @@ interface components {
|
|
|
946
1082
|
* @example pending_verification
|
|
947
1083
|
* @enum {string}
|
|
948
1084
|
*/
|
|
949
|
-
status:
|
|
1085
|
+
status: 'pending_verification' | 'completed' | 'failed' | 'expired';
|
|
950
1086
|
/**
|
|
951
1087
|
* @description OTP method to use for verification (only present when status is pending_verification)
|
|
952
1088
|
* @example sms
|
|
953
1089
|
* @enum {string}
|
|
954
1090
|
*/
|
|
955
|
-
otpMethod?:
|
|
1091
|
+
otpMethod?: 'sms' | 'totp' | 'email';
|
|
956
1092
|
};
|
|
957
1093
|
TransferListItemDto: {
|
|
958
1094
|
/**
|
|
@@ -965,7 +1101,7 @@ interface components {
|
|
|
965
1101
|
* @example debit
|
|
966
1102
|
* @enum {string}
|
|
967
1103
|
*/
|
|
968
|
-
type:
|
|
1104
|
+
type: 'debit' | 'credit';
|
|
969
1105
|
/**
|
|
970
1106
|
* @description Transfer amount in USD
|
|
971
1107
|
* @example 100
|
|
@@ -976,7 +1112,7 @@ interface components {
|
|
|
976
1112
|
* @example completed
|
|
977
1113
|
* @enum {string}
|
|
978
1114
|
*/
|
|
979
|
-
status:
|
|
1115
|
+
status: 'pending_verification' | 'completed' | 'failed' | 'expired';
|
|
980
1116
|
/**
|
|
981
1117
|
* Format: date-time
|
|
982
1118
|
* @description Transfer creation timestamp
|
|
@@ -992,7 +1128,7 @@ interface components {
|
|
|
992
1128
|
};
|
|
993
1129
|
ListTransfersResponseDto: {
|
|
994
1130
|
/** @description Array of transfers */
|
|
995
|
-
transfers: components[
|
|
1131
|
+
transfers: components['schemas']['TransferListItemDto'][];
|
|
996
1132
|
/**
|
|
997
1133
|
* @description Total number of transfers matching the query
|
|
998
1134
|
* @example 42
|
|
@@ -1030,7 +1166,7 @@ interface operations {
|
|
|
1030
1166
|
};
|
|
1031
1167
|
requestBody: {
|
|
1032
1168
|
content: {
|
|
1033
|
-
|
|
1169
|
+
'application/json': components['schemas']['RegisterDto'];
|
|
1034
1170
|
};
|
|
1035
1171
|
};
|
|
1036
1172
|
responses: {
|
|
@@ -1051,7 +1187,7 @@ interface operations {
|
|
|
1051
1187
|
};
|
|
1052
1188
|
requestBody: {
|
|
1053
1189
|
content: {
|
|
1054
|
-
|
|
1190
|
+
'application/json': components['schemas']['VerifyEmailOTPDto'];
|
|
1055
1191
|
};
|
|
1056
1192
|
};
|
|
1057
1193
|
responses: {
|
|
@@ -1072,7 +1208,7 @@ interface operations {
|
|
|
1072
1208
|
};
|
|
1073
1209
|
requestBody: {
|
|
1074
1210
|
content: {
|
|
1075
|
-
|
|
1211
|
+
'application/json': components['schemas']['AcceptTermsDto'];
|
|
1076
1212
|
};
|
|
1077
1213
|
};
|
|
1078
1214
|
responses: {
|
|
@@ -1093,7 +1229,7 @@ interface operations {
|
|
|
1093
1229
|
};
|
|
1094
1230
|
requestBody: {
|
|
1095
1231
|
content: {
|
|
1096
|
-
|
|
1232
|
+
'application/json': components['schemas']['CompleteProfileDto'];
|
|
1097
1233
|
};
|
|
1098
1234
|
};
|
|
1099
1235
|
responses: {
|
|
@@ -1114,7 +1250,7 @@ interface operations {
|
|
|
1114
1250
|
};
|
|
1115
1251
|
requestBody: {
|
|
1116
1252
|
content: {
|
|
1117
|
-
|
|
1253
|
+
'application/json': components['schemas']['UpdateSSNDto'];
|
|
1118
1254
|
};
|
|
1119
1255
|
};
|
|
1120
1256
|
responses: {
|
|
@@ -1135,7 +1271,7 @@ interface operations {
|
|
|
1135
1271
|
};
|
|
1136
1272
|
requestBody: {
|
|
1137
1273
|
content: {
|
|
1138
|
-
|
|
1274
|
+
'application/json': components['schemas']['SetupMfaDto'];
|
|
1139
1275
|
};
|
|
1140
1276
|
};
|
|
1141
1277
|
responses: {
|
|
@@ -1173,7 +1309,7 @@ interface operations {
|
|
|
1173
1309
|
};
|
|
1174
1310
|
requestBody: {
|
|
1175
1311
|
content: {
|
|
1176
|
-
|
|
1312
|
+
'application/json': components['schemas']['VerifyMfaSetupDto'];
|
|
1177
1313
|
};
|
|
1178
1314
|
};
|
|
1179
1315
|
responses: {
|
|
@@ -1194,7 +1330,7 @@ interface operations {
|
|
|
1194
1330
|
};
|
|
1195
1331
|
requestBody: {
|
|
1196
1332
|
content: {
|
|
1197
|
-
|
|
1333
|
+
'application/json': components['schemas']['VerifyMfaSetupDto'];
|
|
1198
1334
|
};
|
|
1199
1335
|
};
|
|
1200
1336
|
responses: {
|
|
@@ -1215,7 +1351,7 @@ interface operations {
|
|
|
1215
1351
|
};
|
|
1216
1352
|
requestBody: {
|
|
1217
1353
|
content: {
|
|
1218
|
-
|
|
1354
|
+
'application/json': components['schemas']['InitiateLoginDto'];
|
|
1219
1355
|
};
|
|
1220
1356
|
};
|
|
1221
1357
|
responses: {
|
|
@@ -1236,7 +1372,7 @@ interface operations {
|
|
|
1236
1372
|
};
|
|
1237
1373
|
requestBody: {
|
|
1238
1374
|
content: {
|
|
1239
|
-
|
|
1375
|
+
'application/json': components['schemas']['VerifyLoginOTPDto'];
|
|
1240
1376
|
};
|
|
1241
1377
|
};
|
|
1242
1378
|
responses: {
|
|
@@ -1257,7 +1393,7 @@ interface operations {
|
|
|
1257
1393
|
};
|
|
1258
1394
|
requestBody: {
|
|
1259
1395
|
content: {
|
|
1260
|
-
|
|
1396
|
+
'application/json': components['schemas']['VerifyMfaDto'];
|
|
1261
1397
|
};
|
|
1262
1398
|
};
|
|
1263
1399
|
responses: {
|
|
@@ -1278,7 +1414,7 @@ interface operations {
|
|
|
1278
1414
|
};
|
|
1279
1415
|
requestBody: {
|
|
1280
1416
|
content: {
|
|
1281
|
-
|
|
1417
|
+
'application/json': components['schemas']['ResendEmailOTPDto'];
|
|
1282
1418
|
};
|
|
1283
1419
|
};
|
|
1284
1420
|
responses: {
|
|
@@ -1299,7 +1435,7 @@ interface operations {
|
|
|
1299
1435
|
};
|
|
1300
1436
|
requestBody: {
|
|
1301
1437
|
content: {
|
|
1302
|
-
|
|
1438
|
+
'application/json': components['schemas']['ResendSMSMFADto'];
|
|
1303
1439
|
};
|
|
1304
1440
|
};
|
|
1305
1441
|
responses: {
|
|
@@ -1320,7 +1456,7 @@ interface operations {
|
|
|
1320
1456
|
};
|
|
1321
1457
|
requestBody: {
|
|
1322
1458
|
content: {
|
|
1323
|
-
|
|
1459
|
+
'application/json': components['schemas']['RefreshTokenDto'];
|
|
1324
1460
|
};
|
|
1325
1461
|
};
|
|
1326
1462
|
responses: {
|
|
@@ -1375,7 +1511,7 @@ interface operations {
|
|
|
1375
1511
|
};
|
|
1376
1512
|
requestBody: {
|
|
1377
1513
|
content: {
|
|
1378
|
-
|
|
1514
|
+
'application/json': components['schemas']['UpdateProfileDto'];
|
|
1379
1515
|
};
|
|
1380
1516
|
};
|
|
1381
1517
|
responses: {
|
|
@@ -1396,7 +1532,7 @@ interface operations {
|
|
|
1396
1532
|
};
|
|
1397
1533
|
requestBody: {
|
|
1398
1534
|
content: {
|
|
1399
|
-
|
|
1535
|
+
'application/json': components['schemas']['FillAccountVIPDto'];
|
|
1400
1536
|
};
|
|
1401
1537
|
};
|
|
1402
1538
|
responses: {
|
|
@@ -1417,7 +1553,7 @@ interface operations {
|
|
|
1417
1553
|
};
|
|
1418
1554
|
requestBody: {
|
|
1419
1555
|
content: {
|
|
1420
|
-
|
|
1556
|
+
'application/json': components['schemas']['LogoutDto'];
|
|
1421
1557
|
};
|
|
1422
1558
|
};
|
|
1423
1559
|
responses: {
|
|
@@ -1489,7 +1625,7 @@ interface operations {
|
|
|
1489
1625
|
};
|
|
1490
1626
|
requestBody: {
|
|
1491
1627
|
content: {
|
|
1492
|
-
|
|
1628
|
+
'application/json': components['schemas']['CommitPinChangeBodyDto'];
|
|
1493
1629
|
};
|
|
1494
1630
|
};
|
|
1495
1631
|
responses: {
|
|
@@ -1527,7 +1663,7 @@ interface operations {
|
|
|
1527
1663
|
};
|
|
1528
1664
|
requestBody: {
|
|
1529
1665
|
content: {
|
|
1530
|
-
|
|
1666
|
+
'application/json': components['schemas']['MarkUsersDto'];
|
|
1531
1667
|
};
|
|
1532
1668
|
};
|
|
1533
1669
|
responses: {
|
|
@@ -1548,7 +1684,7 @@ interface operations {
|
|
|
1548
1684
|
};
|
|
1549
1685
|
requestBody: {
|
|
1550
1686
|
content: {
|
|
1551
|
-
|
|
1687
|
+
'application/json': components['schemas']['BatchValidationDto'];
|
|
1552
1688
|
};
|
|
1553
1689
|
};
|
|
1554
1690
|
responses: {
|
|
@@ -1569,7 +1705,7 @@ interface operations {
|
|
|
1569
1705
|
};
|
|
1570
1706
|
requestBody: {
|
|
1571
1707
|
content: {
|
|
1572
|
-
|
|
1708
|
+
'application/json': components['schemas']['PreviewMigrationDto'];
|
|
1573
1709
|
};
|
|
1574
1710
|
};
|
|
1575
1711
|
responses: {
|
|
@@ -1590,7 +1726,7 @@ interface operations {
|
|
|
1590
1726
|
};
|
|
1591
1727
|
requestBody: {
|
|
1592
1728
|
content: {
|
|
1593
|
-
|
|
1729
|
+
'application/json': components['schemas']['TriggerMigrationDto'];
|
|
1594
1730
|
};
|
|
1595
1731
|
};
|
|
1596
1732
|
responses: {
|
|
@@ -1673,7 +1809,7 @@ interface operations {
|
|
|
1673
1809
|
[name: string]: unknown;
|
|
1674
1810
|
};
|
|
1675
1811
|
content: {
|
|
1676
|
-
|
|
1812
|
+
'application/json': components['schemas']['ConnectUserResponseDto'];
|
|
1677
1813
|
};
|
|
1678
1814
|
};
|
|
1679
1815
|
/** @description Invalid or expired access token */
|
|
@@ -1682,7 +1818,7 @@ interface operations {
|
|
|
1682
1818
|
[name: string]: unknown;
|
|
1683
1819
|
};
|
|
1684
1820
|
content: {
|
|
1685
|
-
|
|
1821
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1686
1822
|
};
|
|
1687
1823
|
};
|
|
1688
1824
|
/** @description User consent required or insufficient scope */
|
|
@@ -1691,7 +1827,7 @@ interface operations {
|
|
|
1691
1827
|
[name: string]: unknown;
|
|
1692
1828
|
};
|
|
1693
1829
|
content: {
|
|
1694
|
-
|
|
1830
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1695
1831
|
};
|
|
1696
1832
|
};
|
|
1697
1833
|
};
|
|
@@ -1711,7 +1847,7 @@ interface operations {
|
|
|
1711
1847
|
[name: string]: unknown;
|
|
1712
1848
|
};
|
|
1713
1849
|
content: {
|
|
1714
|
-
|
|
1850
|
+
'application/json': components['schemas']['ConnectBalanceResponseDto'];
|
|
1715
1851
|
};
|
|
1716
1852
|
};
|
|
1717
1853
|
/** @description Invalid or expired access token */
|
|
@@ -1720,7 +1856,7 @@ interface operations {
|
|
|
1720
1856
|
[name: string]: unknown;
|
|
1721
1857
|
};
|
|
1722
1858
|
content: {
|
|
1723
|
-
|
|
1859
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1724
1860
|
};
|
|
1725
1861
|
};
|
|
1726
1862
|
/** @description User consent required or insufficient scope */
|
|
@@ -1729,7 +1865,7 @@ interface operations {
|
|
|
1729
1865
|
[name: string]: unknown;
|
|
1730
1866
|
};
|
|
1731
1867
|
content: {
|
|
1732
|
-
|
|
1868
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1733
1869
|
};
|
|
1734
1870
|
};
|
|
1735
1871
|
};
|
|
@@ -1743,7 +1879,7 @@ interface operations {
|
|
|
1743
1879
|
};
|
|
1744
1880
|
requestBody: {
|
|
1745
1881
|
content: {
|
|
1746
|
-
|
|
1882
|
+
'application/json': components['schemas']['InitiateTransferRequestDto'];
|
|
1747
1883
|
};
|
|
1748
1884
|
};
|
|
1749
1885
|
responses: {
|
|
@@ -1753,7 +1889,7 @@ interface operations {
|
|
|
1753
1889
|
[name: string]: unknown;
|
|
1754
1890
|
};
|
|
1755
1891
|
content: {
|
|
1756
|
-
|
|
1892
|
+
'application/json': components['schemas']['TransferResponseDto'];
|
|
1757
1893
|
};
|
|
1758
1894
|
};
|
|
1759
1895
|
/** @description Invalid request (amount, balance, etc.) */
|
|
@@ -1762,7 +1898,7 @@ interface operations {
|
|
|
1762
1898
|
[name: string]: unknown;
|
|
1763
1899
|
};
|
|
1764
1900
|
content: {
|
|
1765
|
-
|
|
1901
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1766
1902
|
};
|
|
1767
1903
|
};
|
|
1768
1904
|
/** @description Invalid or expired access token */
|
|
@@ -1771,7 +1907,7 @@ interface operations {
|
|
|
1771
1907
|
[name: string]: unknown;
|
|
1772
1908
|
};
|
|
1773
1909
|
content: {
|
|
1774
|
-
|
|
1910
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1775
1911
|
};
|
|
1776
1912
|
};
|
|
1777
1913
|
/** @description User consent required or insufficient scope */
|
|
@@ -1780,7 +1916,7 @@ interface operations {
|
|
|
1780
1916
|
[name: string]: unknown;
|
|
1781
1917
|
};
|
|
1782
1918
|
content: {
|
|
1783
|
-
|
|
1919
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1784
1920
|
};
|
|
1785
1921
|
};
|
|
1786
1922
|
};
|
|
@@ -1803,7 +1939,7 @@ interface operations {
|
|
|
1803
1939
|
[name: string]: unknown;
|
|
1804
1940
|
};
|
|
1805
1941
|
content: {
|
|
1806
|
-
|
|
1942
|
+
'application/json': components['schemas']['TransferResponseDto'];
|
|
1807
1943
|
};
|
|
1808
1944
|
};
|
|
1809
1945
|
/** @description Invalid or expired access token */
|
|
@@ -1812,7 +1948,7 @@ interface operations {
|
|
|
1812
1948
|
[name: string]: unknown;
|
|
1813
1949
|
};
|
|
1814
1950
|
content: {
|
|
1815
|
-
|
|
1951
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1816
1952
|
};
|
|
1817
1953
|
};
|
|
1818
1954
|
/** @description User consent required or insufficient scope */
|
|
@@ -1821,7 +1957,7 @@ interface operations {
|
|
|
1821
1957
|
[name: string]: unknown;
|
|
1822
1958
|
};
|
|
1823
1959
|
content: {
|
|
1824
|
-
|
|
1960
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1825
1961
|
};
|
|
1826
1962
|
};
|
|
1827
1963
|
/** @description Transfer not found */
|
|
@@ -1830,7 +1966,7 @@ interface operations {
|
|
|
1830
1966
|
[name: string]: unknown;
|
|
1831
1967
|
};
|
|
1832
1968
|
content: {
|
|
1833
|
-
|
|
1969
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1834
1970
|
};
|
|
1835
1971
|
};
|
|
1836
1972
|
};
|
|
@@ -1843,7 +1979,7 @@ interface operations {
|
|
|
1843
1979
|
/** @description Number of transfers to skip (for pagination) */
|
|
1844
1980
|
offset?: number;
|
|
1845
1981
|
/** @description Filter by transfer status */
|
|
1846
|
-
status?:
|
|
1982
|
+
status?: 'pending_verification' | 'completed' | 'failed' | 'expired';
|
|
1847
1983
|
};
|
|
1848
1984
|
header?: never;
|
|
1849
1985
|
path?: never;
|
|
@@ -1857,7 +1993,7 @@ interface operations {
|
|
|
1857
1993
|
[name: string]: unknown;
|
|
1858
1994
|
};
|
|
1859
1995
|
content: {
|
|
1860
|
-
|
|
1996
|
+
'application/json': components['schemas']['ListTransfersResponseDto'];
|
|
1861
1997
|
};
|
|
1862
1998
|
};
|
|
1863
1999
|
/** @description Invalid or expired access token */
|
|
@@ -1866,7 +2002,7 @@ interface operations {
|
|
|
1866
2002
|
[name: string]: unknown;
|
|
1867
2003
|
};
|
|
1868
2004
|
content: {
|
|
1869
|
-
|
|
2005
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1870
2006
|
};
|
|
1871
2007
|
};
|
|
1872
2008
|
/** @description User consent required or insufficient scope */
|
|
@@ -1875,7 +2011,7 @@ interface operations {
|
|
|
1875
2011
|
[name: string]: unknown;
|
|
1876
2012
|
};
|
|
1877
2013
|
content: {
|
|
1878
|
-
|
|
2014
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1879
2015
|
};
|
|
1880
2016
|
};
|
|
1881
2017
|
};
|
|
@@ -1892,7 +2028,7 @@ interface operations {
|
|
|
1892
2028
|
};
|
|
1893
2029
|
requestBody: {
|
|
1894
2030
|
content: {
|
|
1895
|
-
|
|
2031
|
+
'application/json': components['schemas']['VerifyTransferRequestDto'];
|
|
1896
2032
|
};
|
|
1897
2033
|
};
|
|
1898
2034
|
responses: {
|
|
@@ -1902,7 +2038,7 @@ interface operations {
|
|
|
1902
2038
|
[name: string]: unknown;
|
|
1903
2039
|
};
|
|
1904
2040
|
content: {
|
|
1905
|
-
|
|
2041
|
+
'application/json': components['schemas']['TransferResponseDto'];
|
|
1906
2042
|
};
|
|
1907
2043
|
};
|
|
1908
2044
|
/** @description Invalid OTP or transfer expired */
|
|
@@ -1911,7 +2047,7 @@ interface operations {
|
|
|
1911
2047
|
[name: string]: unknown;
|
|
1912
2048
|
};
|
|
1913
2049
|
content: {
|
|
1914
|
-
|
|
2050
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1915
2051
|
};
|
|
1916
2052
|
};
|
|
1917
2053
|
/** @description Invalid or expired access token */
|
|
@@ -1920,7 +2056,7 @@ interface operations {
|
|
|
1920
2056
|
[name: string]: unknown;
|
|
1921
2057
|
};
|
|
1922
2058
|
content: {
|
|
1923
|
-
|
|
2059
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1924
2060
|
};
|
|
1925
2061
|
};
|
|
1926
2062
|
/** @description User consent required or insufficient scope */
|
|
@@ -1929,7 +2065,7 @@ interface operations {
|
|
|
1929
2065
|
[name: string]: unknown;
|
|
1930
2066
|
};
|
|
1931
2067
|
content: {
|
|
1932
|
-
|
|
2068
|
+
'application/json': components['schemas']['ConsentRequiredErrorDto'];
|
|
1933
2069
|
};
|
|
1934
2070
|
};
|
|
1935
2071
|
/** @description Transfer not found */
|
|
@@ -1938,7 +2074,7 @@ interface operations {
|
|
|
1938
2074
|
[name: string]: unknown;
|
|
1939
2075
|
};
|
|
1940
2076
|
content: {
|
|
1941
|
-
|
|
2077
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1942
2078
|
};
|
|
1943
2079
|
};
|
|
1944
2080
|
};
|
|
@@ -1958,7 +2094,7 @@ interface operations {
|
|
|
1958
2094
|
[name: string]: unknown;
|
|
1959
2095
|
};
|
|
1960
2096
|
content: {
|
|
1961
|
-
|
|
2097
|
+
'application/json': components['schemas']['RevokeConsentResponseDto'];
|
|
1962
2098
|
};
|
|
1963
2099
|
};
|
|
1964
2100
|
/** @description Invalid or expired access token */
|
|
@@ -1967,7 +2103,7 @@ interface operations {
|
|
|
1967
2103
|
[name: string]: unknown;
|
|
1968
2104
|
};
|
|
1969
2105
|
content: {
|
|
1970
|
-
|
|
2106
|
+
'application/json': components['schemas']['ErrorResponseDto'];
|
|
1971
2107
|
};
|
|
1972
2108
|
};
|
|
1973
2109
|
};
|
|
@@ -2302,12 +2438,104 @@ type TransferStatus = 'pending_verification' | 'completed' | 'failed' | 'expired
|
|
|
2302
2438
|
*
|
|
2303
2439
|
* - `sms`: OTP sent via SMS to user's phone
|
|
2304
2440
|
* - `totp`: User generates OTP from authenticator app
|
|
2441
|
+
* - `email`: OTP sent via email to user's account email
|
|
2305
2442
|
*/
|
|
2306
|
-
type OtpMethod = 'sms' | 'totp';
|
|
2443
|
+
type OtpMethod = 'sms' | 'totp' | 'email';
|
|
2307
2444
|
/**
|
|
2308
2445
|
* Parameters for listing transfers.
|
|
2309
2446
|
*/
|
|
2310
2447
|
type ListTransfersParams = NonNullable<operations['listTransfers']['parameters']['query']>;
|
|
2448
|
+
/**
|
|
2449
|
+
* Address block for identity verification.
|
|
2450
|
+
* The block itself is required; all sub-fields are optional — supply as many
|
|
2451
|
+
* as the partner holds for a higher-confidence match.
|
|
2452
|
+
*/
|
|
2453
|
+
interface VerifyIdentityAddress {
|
|
2454
|
+
/** Street address line (e.g. "123 Main St") */
|
|
2455
|
+
street?: string;
|
|
2456
|
+
city?: string;
|
|
2457
|
+
/** US state code (e.g. "TX") */
|
|
2458
|
+
state?: string;
|
|
2459
|
+
zip?: string;
|
|
2460
|
+
}
|
|
2461
|
+
/**
|
|
2462
|
+
* Options for `EdgeConnectServer.verifyIdentity()`.
|
|
2463
|
+
*
|
|
2464
|
+
* @example
|
|
2465
|
+
* ```typescript
|
|
2466
|
+
* const options: VerifyIdentityOptions = {
|
|
2467
|
+
* firstName: 'John',
|
|
2468
|
+
* lastName: 'Doe',
|
|
2469
|
+
* address: { street: '123 Main St', city: 'Austin', state: 'TX', zip: '78701' },
|
|
2470
|
+
* }
|
|
2471
|
+
* ```
|
|
2472
|
+
*/
|
|
2473
|
+
interface VerifyIdentityOptions {
|
|
2474
|
+
firstName: string;
|
|
2475
|
+
lastName: string;
|
|
2476
|
+
/**
|
|
2477
|
+
* Address details are required per the verification contract.
|
|
2478
|
+
* All sub-fields within the block are individually optional — supply as many
|
|
2479
|
+
* as the partner holds for a higher-confidence match.
|
|
2480
|
+
* Address threshold enforcement is skipped if the EdgeBoost user has no address on file.
|
|
2481
|
+
*/
|
|
2482
|
+
address: VerifyIdentityAddress;
|
|
2483
|
+
}
|
|
2484
|
+
/**
|
|
2485
|
+
* Similarity scores returned when identity verification passes.
|
|
2486
|
+
* Partners should log these for their own audit trail.
|
|
2487
|
+
*/
|
|
2488
|
+
interface VerifyIdentityScores {
|
|
2489
|
+
/** Levenshtein-based full-name similarity score (0–100). Threshold: 70. */
|
|
2490
|
+
name: number;
|
|
2491
|
+
/** Levenshtein-based combined address similarity score (0–100). Threshold: 65. */
|
|
2492
|
+
address: number;
|
|
2493
|
+
/** Whether the ZIP code is an exact digit match. */
|
|
2494
|
+
zipMatch: boolean;
|
|
2495
|
+
}
|
|
2496
|
+
/**
|
|
2497
|
+
* Response from a successful `verifyIdentity()` call.
|
|
2498
|
+
*
|
|
2499
|
+
* @example
|
|
2500
|
+
* ```typescript
|
|
2501
|
+
* const result: VerifyIdentityResult = await edge.verifyIdentity(accessToken, options)
|
|
2502
|
+
* console.log(`Name score: ${result.scores.name}`) // e.g. 95
|
|
2503
|
+
* ```
|
|
2504
|
+
*/
|
|
2505
|
+
interface VerifyIdentityResult {
|
|
2506
|
+
verified: true;
|
|
2507
|
+
scores: VerifyIdentityScores;
|
|
2508
|
+
}
|
|
2509
|
+
/**
|
|
2510
|
+
* Request payload for creating a hosted verification session.
|
|
2511
|
+
*/
|
|
2512
|
+
interface CreateVerificationSessionRequest {
|
|
2513
|
+
/** HTTPS origin of your frontend for postMessage origin validation. */
|
|
2514
|
+
origin: string;
|
|
2515
|
+
}
|
|
2516
|
+
/**
|
|
2517
|
+
* Response from creating a hosted verification session.
|
|
2518
|
+
*/
|
|
2519
|
+
interface VerificationSession {
|
|
2520
|
+
/** Unique verification session identifier for correlation. */
|
|
2521
|
+
sessionId: string;
|
|
2522
|
+
/** URL to open in an iframe or popup. Single-use, expires in 120 seconds. */
|
|
2523
|
+
verificationUrl: string;
|
|
2524
|
+
/** ISO 8601 timestamp when the handoff token expires. */
|
|
2525
|
+
expiresAt: string;
|
|
2526
|
+
}
|
|
2527
|
+
/**
|
|
2528
|
+
* Verification session status values.
|
|
2529
|
+
*/
|
|
2530
|
+
type VerificationSessionStatus = 'pending' | 'active' | 'completed' | 'failed' | 'expired' | 'canceled';
|
|
2531
|
+
/**
|
|
2532
|
+
* Response from polling a verification session's status.
|
|
2533
|
+
*/
|
|
2534
|
+
interface VerificationSessionStatusResponse {
|
|
2535
|
+
sessionId: string;
|
|
2536
|
+
status: VerificationSessionStatus;
|
|
2537
|
+
transferStatus: TransferStatus;
|
|
2538
|
+
}
|
|
2311
2539
|
/**
|
|
2312
2540
|
* All possible transfer types.
|
|
2313
2541
|
* Use for validation or building UI select options.
|
|
@@ -2321,7 +2549,7 @@ declare const TRANSFER_STATUSES: readonly ["pending_verification", "completed",
|
|
|
2321
2549
|
/**
|
|
2322
2550
|
* All possible OTP methods.
|
|
2323
2551
|
*/
|
|
2324
|
-
declare const OTP_METHODS: readonly ["sms", "totp"];
|
|
2552
|
+
declare const OTP_METHODS: readonly ["sms", "totp", "email"];
|
|
2325
2553
|
|
|
2326
2554
|
/**
|
|
2327
2555
|
* EDGE Connect SDK Types
|
|
@@ -2429,142 +2657,29 @@ interface EdgeLinkExit {
|
|
|
2429
2657
|
message: string;
|
|
2430
2658
|
};
|
|
2431
2659
|
}
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2660
|
+
/** PKCE code verifier and challenge pair */
|
|
2661
|
+
interface PKCEPair {
|
|
2662
|
+
verifier: string;
|
|
2663
|
+
challenge: string;
|
|
2664
|
+
}
|
|
2665
|
+
/** Event emitted during the Link flow */
|
|
2666
|
+
interface EdgeLinkEvent {
|
|
2667
|
+
eventName: EdgeLinkEventName;
|
|
2668
|
+
timestamp: number;
|
|
2669
|
+
metadata?: Record<string, unknown>;
|
|
2670
|
+
}
|
|
2671
|
+
/** All possible Link event names (superset of browser + mobile events) */
|
|
2672
|
+
type EdgeLinkEventName = 'OPEN' | 'CLOSE' | 'HANDOFF' | 'TRANSITION' | 'REDIRECT' | 'ERROR' | 'SUCCESS';
|
|
2673
|
+
/** Base configuration shared by all EdgeLink implementations */
|
|
2674
|
+
interface EdgeLinkConfigBase {
|
|
2675
|
+
clientId: string;
|
|
2676
|
+
environment: EdgeEnvironment;
|
|
2677
|
+
onSuccess: (result: EdgeLinkSuccess) => void;
|
|
2678
|
+
onExit?: (metadata: EdgeLinkExit) => void;
|
|
2679
|
+
onEvent?: (event: EdgeLinkEvent) => void;
|
|
2680
|
+
scopes?: EdgeScope[];
|
|
2681
|
+
linkUrl?: string;
|
|
2444
2682
|
}
|
|
2445
|
-
declare const EDGE_ENVIRONMENTS: Readonly<Record<EdgeEnvironment, EdgeEnvironmentConfig>>;
|
|
2446
|
-
declare function getEnvironmentConfig(environment: EdgeEnvironment): EdgeEnvironmentConfig;
|
|
2447
|
-
declare function isProductionEnvironment(environment: EdgeEnvironment): boolean;
|
|
2448
|
-
declare function getAvailableEnvironments(): readonly EdgeEnvironment[];
|
|
2449
|
-
|
|
2450
|
-
/**
|
|
2451
|
-
* EDGE Connect OAuth Scopes
|
|
2452
|
-
*
|
|
2453
|
-
* OAuth scopes define what permissions your application requests from users.
|
|
2454
|
-
* Each scope grants access to specific API endpoints.
|
|
2455
|
-
*
|
|
2456
|
-
* @module @edge-markets/connect/config
|
|
2457
|
-
*/
|
|
2458
|
-
/**
|
|
2459
|
-
* Available OAuth scopes for EDGE Connect.
|
|
2460
|
-
*
|
|
2461
|
-
* Request the minimum scopes your application needs.
|
|
2462
|
-
* Users see these permissions during the consent flow.
|
|
2463
|
-
*
|
|
2464
|
-
* @example
|
|
2465
|
-
* ```typescript
|
|
2466
|
-
* // Request only what you need
|
|
2467
|
-
* link.open({
|
|
2468
|
-
* scopes: [EDGE_SCOPES.USER_READ, EDGE_SCOPES.BALANCE_READ],
|
|
2469
|
-
* })
|
|
2470
|
-
*
|
|
2471
|
-
* // Or request all scopes
|
|
2472
|
-
* link.open({
|
|
2473
|
-
* scopes: ALL_EDGE_SCOPES,
|
|
2474
|
-
* })
|
|
2475
|
-
* ```
|
|
2476
|
-
*/
|
|
2477
|
-
declare const EDGE_SCOPES: {
|
|
2478
|
-
/**
|
|
2479
|
-
* Read user profile information (name, email).
|
|
2480
|
-
* Required for: `GET /v1/user`
|
|
2481
|
-
*/
|
|
2482
|
-
readonly USER_READ: "user.read";
|
|
2483
|
-
/**
|
|
2484
|
-
* Read account balance.
|
|
2485
|
-
* Required for: `GET /v1/balance`
|
|
2486
|
-
*/
|
|
2487
|
-
readonly BALANCE_READ: "balance.read";
|
|
2488
|
-
/**
|
|
2489
|
-
* Initiate and verify fund transfers.
|
|
2490
|
-
* Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
|
|
2491
|
-
*/
|
|
2492
|
-
readonly TRANSFER_WRITE: "transfer.write";
|
|
2493
|
-
};
|
|
2494
|
-
/**
|
|
2495
|
-
* Type representing a valid EDGE Connect scope.
|
|
2496
|
-
*/
|
|
2497
|
-
type EdgeScope = (typeof EDGE_SCOPES)[keyof typeof EDGE_SCOPES];
|
|
2498
|
-
/**
|
|
2499
|
-
* All available scopes as an array.
|
|
2500
|
-
* Use when you need full access to all API features.
|
|
2501
|
-
*
|
|
2502
|
-
* @example
|
|
2503
|
-
* ```typescript
|
|
2504
|
-
* const link = new EdgeLink({
|
|
2505
|
-
* clientId: 'your-client-id',
|
|
2506
|
-
* environment: 'staging',
|
|
2507
|
-
* scopes: ALL_EDGE_SCOPES, // Request all permissions
|
|
2508
|
-
* onSuccess: handleSuccess,
|
|
2509
|
-
* })
|
|
2510
|
-
* ```
|
|
2511
|
-
*/
|
|
2512
|
-
declare const ALL_EDGE_SCOPES: readonly EdgeScope[];
|
|
2513
|
-
/**
|
|
2514
|
-
* Human-readable descriptions for each scope.
|
|
2515
|
-
* Useful for building custom consent UIs or explaining permissions.
|
|
2516
|
-
*/
|
|
2517
|
-
declare const SCOPE_DESCRIPTIONS: Readonly<Record<EdgeScope, string>>;
|
|
2518
|
-
/**
|
|
2519
|
-
* Icons for each scope (for UI display).
|
|
2520
|
-
* Using common icon library names (e.g., Lucide, Heroicons).
|
|
2521
|
-
*/
|
|
2522
|
-
declare const SCOPE_ICONS: Readonly<Record<EdgeScope, string>>;
|
|
2523
|
-
/**
|
|
2524
|
-
* Builds the full scope string for a given environment.
|
|
2525
|
-
*
|
|
2526
|
-
* Different environments may use different scope prefixes in the API Gateway.
|
|
2527
|
-
* This function handles the prefix automatically.
|
|
2528
|
-
*
|
|
2529
|
-
* Note: 'development' environment uses 'staging' scope prefix because it
|
|
2530
|
-
* connects to the staging API Gateway for local testing.
|
|
2531
|
-
*
|
|
2532
|
-
* @param scope - The scope to format
|
|
2533
|
-
* @param environment - The target environment
|
|
2534
|
-
* @returns The full scope string for API Gateway authorization
|
|
2535
|
-
*
|
|
2536
|
-
* @example
|
|
2537
|
-
* ```typescript
|
|
2538
|
-
* formatScopeForEnvironment('user.read', 'staging')
|
|
2539
|
-
* // Returns: 'edge-connect-staging/user.read'
|
|
2540
|
-
*
|
|
2541
|
-
* formatScopeForEnvironment('user.read', 'production')
|
|
2542
|
-
* // Returns: 'edge-connect/user.read'
|
|
2543
|
-
*
|
|
2544
|
-
* formatScopeForEnvironment('user.read', 'development')
|
|
2545
|
-
* // Returns: 'edge-connect-staging/user.read' (maps to staging)
|
|
2546
|
-
* ```
|
|
2547
|
-
*/
|
|
2548
|
-
declare function formatScopeForEnvironment(scope: EdgeScope, environment: 'production' | 'staging' | 'sandbox' | 'development'): string;
|
|
2549
|
-
/**
|
|
2550
|
-
* Formats multiple scopes for an environment.
|
|
2551
|
-
*
|
|
2552
|
-
* @param scopes - Array of scopes to format
|
|
2553
|
-
* @param environment - The target environment
|
|
2554
|
-
* @returns Array of full scope strings
|
|
2555
|
-
*/
|
|
2556
|
-
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment: 'production' | 'staging' | 'sandbox' | 'development'): string[];
|
|
2557
|
-
/**
|
|
2558
|
-
* Parses a full scope string to extract the base scope.
|
|
2559
|
-
*
|
|
2560
|
-
* @param fullScope - The full scope string (e.g., 'edge-connect-staging/user.read')
|
|
2561
|
-
* @returns The base scope (e.g., 'user.read') or null if invalid
|
|
2562
|
-
*/
|
|
2563
|
-
declare function parseScope(fullScope: string): EdgeScope | null;
|
|
2564
|
-
/**
|
|
2565
|
-
* Checks if a scope string is valid.
|
|
2566
|
-
*/
|
|
2567
|
-
declare function isValidScope(scope: string): scope is EdgeScope;
|
|
2568
2683
|
|
|
2569
2684
|
/**
|
|
2570
2685
|
* EDGE Connect SDK Error Classes
|
|
@@ -2779,6 +2894,32 @@ declare class EdgeValidationError extends EdgeError {
|
|
|
2779
2894
|
readonly validationErrors: Record<string, string[]>;
|
|
2780
2895
|
constructor(message: string, validationErrors: Record<string, string[]>);
|
|
2781
2896
|
}
|
|
2897
|
+
/**
|
|
2898
|
+
* Thrown when identity verification fails because one or more fields do not meet
|
|
2899
|
+
* the similarity threshold when compared against the user's stored EdgeBoost profile.
|
|
2900
|
+
*
|
|
2901
|
+
* The `fieldErrors` map contains only the fields that failed verification.
|
|
2902
|
+
* Each value is a human-readable message safe to display directly to the user.
|
|
2903
|
+
*
|
|
2904
|
+
* @example
|
|
2905
|
+
* ```typescript
|
|
2906
|
+
* try {
|
|
2907
|
+
* await edge.verifyIdentity(accessToken, { firstName: 'John', lastName: 'Doe', address: {} })
|
|
2908
|
+
* } catch (error) {
|
|
2909
|
+
* if (error instanceof EdgeIdentityVerificationError) {
|
|
2910
|
+
* if (error.fieldErrors.name) {
|
|
2911
|
+
* showMessage(error.fieldErrors.name)
|
|
2912
|
+
* // "Name doesn't match what is on file, please contact support"
|
|
2913
|
+
* }
|
|
2914
|
+
* }
|
|
2915
|
+
* }
|
|
2916
|
+
* ```
|
|
2917
|
+
*/
|
|
2918
|
+
declare class EdgeIdentityVerificationError extends EdgeError {
|
|
2919
|
+
/** Field-level messages for each failing field. Keys match the request fields (e.g. `name`, `address`). */
|
|
2920
|
+
readonly fieldErrors: Record<string, string>;
|
|
2921
|
+
constructor(fieldErrors: Record<string, string>, message?: string);
|
|
2922
|
+
}
|
|
2782
2923
|
/**
|
|
2783
2924
|
* Thrown when a popup is blocked by the browser.
|
|
2784
2925
|
*
|
|
@@ -2857,6 +2998,10 @@ declare function isConsentRequiredError(error: unknown): error is EdgeConsentReq
|
|
|
2857
2998
|
* Type guard for API errors.
|
|
2858
2999
|
*/
|
|
2859
3000
|
declare function isApiError(error: unknown): error is EdgeApiError;
|
|
3001
|
+
/**
|
|
3002
|
+
* Type guard for identity verification errors.
|
|
3003
|
+
*/
|
|
3004
|
+
declare function isIdentityVerificationError(error: unknown): error is EdgeIdentityVerificationError;
|
|
2860
3005
|
/**
|
|
2861
3006
|
* Type guard for network errors.
|
|
2862
3007
|
*/
|
|
@@ -2909,4 +3054,4 @@ declare const SDK_VERSION = "1.0.0";
|
|
|
2909
3054
|
*/
|
|
2910
3055
|
declare const SDK_NAME = "@edge-markets/connect";
|
|
2911
3056
|
|
|
2912
|
-
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 };
|
|
3057
|
+
export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, type CreateVerificationSessionRequest, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeIdentityVerificationError, EdgeInsufficientScopeError, type EdgeLinkConfigBase, type EdgeLinkEvent, type EdgeLinkEventName, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type PKCEPair, 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 VerificationSession, type VerificationSessionStatus, type VerificationSessionStatusResponse, type VerifyIdentityAddress, type VerifyIdentityOptions, type VerifyIdentityResult, type VerifyIdentityScores, type VerifyTransferRequest, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isIdentityVerificationError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
|