@marcohefti/request-network-api-client 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +97 -0
  3. package/dist/cjs/domains/client-ids/index.js +309 -0
  4. package/dist/cjs/domains/client-ids/index.js.map +1 -0
  5. package/dist/cjs/domains/currencies/index.js +347 -0
  6. package/dist/cjs/domains/currencies/index.js.map +1 -0
  7. package/dist/cjs/domains/payer/index.js +450 -0
  8. package/dist/cjs/domains/payer/index.js.map +1 -0
  9. package/dist/cjs/domains/payouts/index.js +304 -0
  10. package/dist/cjs/domains/payouts/index.js.map +1 -0
  11. package/dist/cjs/domains/requests/index.js +544 -0
  12. package/dist/cjs/domains/requests/index.js.map +1 -0
  13. package/dist/cjs/index.js +3466 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/esm/domains/client-ids/index.d.mts +2 -0
  16. package/dist/esm/domains/client-ids/index.js +307 -0
  17. package/dist/esm/domains/client-ids/index.js.map +1 -0
  18. package/dist/esm/domains/currencies/index.d.mts +3 -0
  19. package/dist/esm/domains/currencies/index.js +344 -0
  20. package/dist/esm/domains/currencies/index.js.map +1 -0
  21. package/dist/esm/domains/payer/index.d.mts +2 -0
  22. package/dist/esm/domains/payer/index.js +446 -0
  23. package/dist/esm/domains/payer/index.js.map +1 -0
  24. package/dist/esm/domains/payouts/index.d.mts +2 -0
  25. package/dist/esm/domains/payouts/index.js +302 -0
  26. package/dist/esm/domains/payouts/index.js.map +1 -0
  27. package/dist/esm/domains/requests/index.d.mts +2 -0
  28. package/dist/esm/domains/requests/index.js +542 -0
  29. package/dist/esm/domains/requests/index.js.map +1 -0
  30. package/dist/esm/index-BmWmfcnn.d.mts +113 -0
  31. package/dist/esm/index-CNK36ZX5.d.mts +26 -0
  32. package/dist/esm/index-Cd7x0Hv-.d.mts +39 -0
  33. package/dist/esm/index-Q2g0D7V8.d.mts +79 -0
  34. package/dist/esm/index-ziziGrHN.d.mts +220 -0
  35. package/dist/esm/index.d.mts +5478 -0
  36. package/dist/esm/index.js +3435 -0
  37. package/dist/esm/index.js.map +1 -0
  38. package/dist/esm/openapi-types-CtUFCrk4.d.mts +3368 -0
  39. package/package.json +168 -0
@@ -0,0 +1,3368 @@
1
+ type RetryJitter = "none" | "full" | "half";
2
+ interface RetryConfig {
3
+ /**
4
+ * Maximum attempts including the first request.
5
+ * Set to 1 to disable retries.
6
+ */
7
+ maxAttempts: number;
8
+ /**
9
+ * Delay applied to the first retry attempt.
10
+ */
11
+ initialDelayMs: number;
12
+ /**
13
+ * Upper bound for calculated backoff delays.
14
+ */
15
+ maxDelayMs: number;
16
+ /**
17
+ * Multiplicative factor applied on each retry (exponential backoff).
18
+ */
19
+ backoffFactor: number;
20
+ /**
21
+ * Jitter strategy applied to the computed delay.
22
+ */
23
+ jitter: RetryJitter;
24
+ /**
25
+ * Predicate deciding if a retry should occur for the provided status code.
26
+ * When specified, supersedes {@link retryStatusCodes}.
27
+ */
28
+ shouldRetry?: (context: RetryDecisionInput) => boolean;
29
+ /**
30
+ * HTTP status codes that are eligible for retries (when `shouldRetry` is not supplied).
31
+ */
32
+ retryStatusCodes: number[];
33
+ /**
34
+ * Methods considered for retries (enforced by the interceptor). Defaults to idempotent methods.
35
+ */
36
+ allowedMethods?: string[];
37
+ }
38
+ interface RetryDecisionInput {
39
+ attempt: number;
40
+ response?: RetryResponseLike;
41
+ error?: unknown;
42
+ }
43
+ interface RetryResponseLike {
44
+ status: number;
45
+ headers?: Record<string, string | undefined>;
46
+ /**
47
+ * Optional retry-after header value for transport adapters that expose parsed metadata.
48
+ */
49
+ retryAfterMs?: number;
50
+ }
51
+ interface RetryDecision {
52
+ retry: boolean;
53
+ delayMs?: number;
54
+ reason?: string;
55
+ }
56
+ declare const DEFAULT_RETRY_CONFIG: RetryConfig;
57
+ declare function shouldRetryRequest(config: RetryConfig, input: RetryDecisionInput): RetryDecision;
58
+ declare function computeRetryDelay(config: RetryConfig, input: RetryDecisionInput): number;
59
+
60
+ type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
61
+
62
+ interface RuntimeValidationConfig {
63
+ requests: boolean;
64
+ responses: boolean;
65
+ errors: boolean;
66
+ }
67
+ type RuntimeValidationOption = boolean | Partial<RuntimeValidationConfig>;
68
+ type QueryPrimitive = string | number | boolean;
69
+ type QueryValue = QueryPrimitive | QueryPrimitive[];
70
+ type QueryRecord = Record<string, QueryValue | undefined>;
71
+ type QuerySerializerFn = (params: {
72
+ key: string;
73
+ value: QueryValue;
74
+ set: (key: string, value: string) => void;
75
+ append: (key: string, value: string) => void;
76
+ }) => void;
77
+ type QuerySerializer = "comma" | "repeat" | QuerySerializerFn;
78
+ type LogLevel = "silent" | "error" | "info" | "debug";
79
+ interface HttpRequest {
80
+ method: HttpMethod;
81
+ url: string;
82
+ headers?: Record<string, string>;
83
+ body?: unknown;
84
+ signal?: AbortSignal;
85
+ timeoutMs?: number;
86
+ meta?: {
87
+ operationId?: string;
88
+ retry?: Partial<RetryConfig>;
89
+ interceptors?: Interceptor[];
90
+ validation?: RuntimeValidationOption;
91
+ [key: string]: unknown;
92
+ };
93
+ }
94
+ interface HttpResponse {
95
+ status: number;
96
+ ok: boolean;
97
+ headers: Record<string, string>;
98
+ data?: unknown;
99
+ text?: string;
100
+ }
101
+ interface HttpAdapter {
102
+ send(request: HttpRequest): Promise<HttpResponse>;
103
+ }
104
+ type NextHandler = (req: HttpRequest) => Promise<HttpResponse>;
105
+ type Interceptor = (req: HttpRequest, next: NextHandler) => Promise<HttpResponse>;
106
+ interface RequestOptions {
107
+ path: string;
108
+ method: HttpMethod;
109
+ query?: QueryRecord;
110
+ querySerializer?: QuerySerializer;
111
+ headers?: Record<string, string>;
112
+ body?: unknown;
113
+ signal?: AbortSignal;
114
+ timeoutMs?: number;
115
+ meta?: HttpRequest["meta"];
116
+ }
117
+ interface HttpClient {
118
+ request(options: RequestOptions): Promise<{
119
+ status: number;
120
+ headers: Record<string, string>;
121
+ data: unknown;
122
+ }>;
123
+ get(path: string, init?: Omit<RequestOptions, "path" | "method" | "body">): Promise<{
124
+ status: number;
125
+ headers: Record<string, string>;
126
+ data: unknown;
127
+ }>;
128
+ post(path: string, body?: unknown, init?: Omit<RequestOptions, "path" | "method">): Promise<{
129
+ status: number;
130
+ headers: Record<string, string>;
131
+ data: unknown;
132
+ }>;
133
+ put(path: string, body?: unknown, init?: Omit<RequestOptions, "path" | "method">): Promise<{
134
+ status: number;
135
+ headers: Record<string, string>;
136
+ data: unknown;
137
+ }>;
138
+ patch(path: string, body?: unknown, init?: Omit<RequestOptions, "path" | "method">): Promise<{
139
+ status: number;
140
+ headers: Record<string, string>;
141
+ data: unknown;
142
+ }>;
143
+ delete(path: string, init?: Omit<RequestOptions, "path" | "method"> & {
144
+ body?: unknown;
145
+ }): Promise<{
146
+ status: number;
147
+ headers: Record<string, string>;
148
+ data: unknown;
149
+ }>;
150
+ head(path: string, init?: Omit<RequestOptions, "path" | "method" | "body">): Promise<{
151
+ status: number;
152
+ headers: Record<string, string>;
153
+ data: unknown;
154
+ }>;
155
+ options(path: string, init?: Omit<RequestOptions, "path" | "method" | "body">): Promise<{
156
+ status: number;
157
+ headers: Record<string, string>;
158
+ data: unknown;
159
+ }>;
160
+ getRuntimeValidationConfig(): RuntimeValidationConfig;
161
+ }
162
+
163
+ interface operations {
164
+ CurrenciesV1Controller_getNetworkTokens_v1: {
165
+ parameters: {
166
+ query?: {
167
+ /** @description The network of the token(s) */
168
+ network?: string;
169
+ /** @description The symbol of the token */
170
+ symbol?: string;
171
+ /** @description Whether to return only the first token. can only be used when both `network` and `symbol` are provided. */
172
+ firstOnly?: string;
173
+ /** @description The Request Network id of the token */
174
+ id?: string;
175
+ };
176
+ header?: {
177
+ /** @description API key for authentication (optional if using Client ID) */
178
+ "x-api-key"?: string;
179
+ /** @description Client ID for frontend authentication (optional if using API key) */
180
+ "x-client-id"?: string;
181
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
182
+ Origin?: string;
183
+ };
184
+ path?: never;
185
+ cookie?: never;
186
+ };
187
+ requestBody?: never;
188
+ responses: {
189
+ /** @description List of tokens retrieved successfully */
190
+ 200: {
191
+ headers: {
192
+ [name: string]: unknown;
193
+ };
194
+ content: {
195
+ "application/json": unknown;
196
+ };
197
+ };
198
+ /** @description Validation failed */
199
+ 400: {
200
+ headers: {
201
+ [name: string]: unknown;
202
+ };
203
+ content: {
204
+ "application/json": unknown;
205
+ };
206
+ };
207
+ /** @description Token not found */
208
+ 404: {
209
+ headers: {
210
+ [name: string]: unknown;
211
+ };
212
+ content: {
213
+ "application/json": unknown;
214
+ };
215
+ };
216
+ /** @description Too Many Requests */
217
+ 429: {
218
+ headers: {
219
+ [name: string]: unknown;
220
+ };
221
+ content?: never;
222
+ };
223
+ };
224
+ };
225
+ CurrenciesV1Controller_getConversionRoutes_v1: {
226
+ parameters: {
227
+ query?: {
228
+ /** @description The network of the token to filter by */
229
+ network?: string;
230
+ /** @description A comma-separated list of networks to filter by (e.g., sepolia,mainnet,polygon) */
231
+ networks?: string;
232
+ };
233
+ header?: {
234
+ /** @description API key for authentication (optional if using Client ID) */
235
+ "x-api-key"?: string;
236
+ /** @description Client ID for frontend authentication (optional if using API key) */
237
+ "x-client-id"?: string;
238
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
239
+ Origin?: string;
240
+ };
241
+ path: {
242
+ currencyId: string;
243
+ };
244
+ cookie?: never;
245
+ };
246
+ requestBody?: never;
247
+ responses: {
248
+ /** @description Conversion routes retrieved successfully */
249
+ 200: {
250
+ headers: {
251
+ [name: string]: unknown;
252
+ };
253
+ content: {
254
+ "application/json": unknown;
255
+ };
256
+ };
257
+ /** @description Currency not found */
258
+ 404: {
259
+ headers: {
260
+ [name: string]: unknown;
261
+ };
262
+ content: {
263
+ "application/json": unknown;
264
+ };
265
+ };
266
+ /** @description Too Many Requests */
267
+ 429: {
268
+ headers: {
269
+ [name: string]: unknown;
270
+ };
271
+ content?: never;
272
+ };
273
+ };
274
+ };
275
+ CurrenciesV2Controller_getNetworkTokens_v2: {
276
+ parameters: {
277
+ query?: {
278
+ /** @description The network of the token(s) */
279
+ network?: string;
280
+ /** @description The symbol of the token */
281
+ symbol?: string;
282
+ /** @description Whether to return only the first token. can only be used when both `network` and `symbol` are provided. */
283
+ firstOnly?: string;
284
+ /** @description The Request Network id of the token */
285
+ id?: string;
286
+ };
287
+ header?: {
288
+ /** @description API key for authentication (optional if using Client ID) */
289
+ "x-api-key"?: string;
290
+ /** @description Client ID for frontend authentication (optional if using API key) */
291
+ "x-client-id"?: string;
292
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
293
+ Origin?: string;
294
+ };
295
+ path?: never;
296
+ cookie?: never;
297
+ };
298
+ requestBody?: never;
299
+ responses: {
300
+ /** @description List of tokens retrieved successfully */
301
+ 200: {
302
+ headers: {
303
+ [name: string]: unknown;
304
+ };
305
+ content: {
306
+ "application/json": unknown;
307
+ };
308
+ };
309
+ /** @description Validation failed */
310
+ 400: {
311
+ headers: {
312
+ [name: string]: unknown;
313
+ };
314
+ content: {
315
+ "application/json": unknown;
316
+ };
317
+ };
318
+ /** @description Token not found */
319
+ 404: {
320
+ headers: {
321
+ [name: string]: unknown;
322
+ };
323
+ content: {
324
+ "application/json": unknown;
325
+ };
326
+ };
327
+ /** @description Too Many Requests */
328
+ 429: {
329
+ headers: {
330
+ [name: string]: unknown;
331
+ };
332
+ content?: never;
333
+ };
334
+ };
335
+ };
336
+ CurrenciesV2Controller_getConversionRoutes_v2: {
337
+ parameters: {
338
+ query?: {
339
+ /** @description The network of the token to filter by */
340
+ network?: string;
341
+ /** @description A comma-separated list of networks to filter by (e.g., sepolia,mainnet,polygon) */
342
+ networks?: string;
343
+ };
344
+ header?: {
345
+ /** @description API key for authentication (optional if using Client ID) */
346
+ "x-api-key"?: string;
347
+ /** @description Client ID for frontend authentication (optional if using API key) */
348
+ "x-client-id"?: string;
349
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
350
+ Origin?: string;
351
+ };
352
+ path: {
353
+ currencyId: string;
354
+ };
355
+ cookie?: never;
356
+ };
357
+ requestBody?: never;
358
+ responses: {
359
+ /** @description Conversion routes retrieved successfully */
360
+ 200: {
361
+ headers: {
362
+ [name: string]: unknown;
363
+ };
364
+ content: {
365
+ "application/json": unknown;
366
+ };
367
+ };
368
+ /** @description Currency not found */
369
+ 404: {
370
+ headers: {
371
+ [name: string]: unknown;
372
+ };
373
+ content: {
374
+ "application/json": unknown;
375
+ };
376
+ };
377
+ /** @description Too Many Requests */
378
+ 429: {
379
+ headers: {
380
+ [name: string]: unknown;
381
+ };
382
+ content?: never;
383
+ };
384
+ };
385
+ };
386
+ ClientIdV2Controller_findAll_v2: {
387
+ parameters: {
388
+ query?: never;
389
+ header?: {
390
+ /** @description API key for authentication (optional if using session) */
391
+ "x-api-key"?: string;
392
+ /** @description Bearer token for session authentication (optional if using API key) */
393
+ Authorization?: string;
394
+ };
395
+ path?: never;
396
+ cookie?: never;
397
+ };
398
+ requestBody?: never;
399
+ responses: {
400
+ /** @description List of client IDs */
401
+ 200: {
402
+ headers: {
403
+ [name: string]: unknown;
404
+ };
405
+ content: {
406
+ "application/json": {
407
+ id?: string;
408
+ clientId?: string;
409
+ label?: string;
410
+ allowedDomains?: string[];
411
+ status?: string;
412
+ createdAt?: string;
413
+ lastUsedAt?: string | null;
414
+ }[];
415
+ };
416
+ };
417
+ /** @description Unauthorized - invalid session */
418
+ 401: {
419
+ headers: {
420
+ [name: string]: unknown;
421
+ };
422
+ content?: never;
423
+ };
424
+ /** @description Too Many Requests */
425
+ 429: {
426
+ headers: {
427
+ [name: string]: unknown;
428
+ };
429
+ content?: never;
430
+ };
431
+ };
432
+ };
433
+ ClientIdV2Controller_create_v2: {
434
+ parameters: {
435
+ query?: never;
436
+ header?: {
437
+ /** @description API key for authentication (optional if using session) */
438
+ "x-api-key"?: string;
439
+ /** @description Bearer token for session authentication (optional if using API key) */
440
+ Authorization?: string;
441
+ };
442
+ path?: never;
443
+ cookie?: never;
444
+ };
445
+ requestBody: {
446
+ content: {
447
+ "application/json": {
448
+ label: string;
449
+ /** @description List of allowed domain origins (normalized) */
450
+ allowedDomains: string[];
451
+ /** @description Fee percentage (e.g., '1' = 1%, '2.5' = 2.5%). If set to '0', allows API request fees to take precedence. If set to any other value, overrides any fee passed via API. */
452
+ feePercentage?: string;
453
+ /** @description Wallet address to receive fees. Required if feePercentage is set. */
454
+ feeAddress?: string;
455
+ };
456
+ };
457
+ };
458
+ responses: {
459
+ /** @description Client ID created successfully */
460
+ 201: {
461
+ headers: {
462
+ [name: string]: unknown;
463
+ };
464
+ content: {
465
+ "application/json": {
466
+ id?: string;
467
+ clientId?: string;
468
+ label?: string;
469
+ allowedDomains?: string[];
470
+ feePercentage?: string | null;
471
+ feeAddress?: string | null;
472
+ status?: string;
473
+ createdAt?: string;
474
+ };
475
+ };
476
+ };
477
+ /** @description Bad request - validation failed */
478
+ 400: {
479
+ headers: {
480
+ [name: string]: unknown;
481
+ };
482
+ content?: never;
483
+ };
484
+ /** @description Unauthorized - invalid session */
485
+ 401: {
486
+ headers: {
487
+ [name: string]: unknown;
488
+ };
489
+ content?: never;
490
+ };
491
+ /** @description Too Many Requests */
492
+ 429: {
493
+ headers: {
494
+ [name: string]: unknown;
495
+ };
496
+ content?: never;
497
+ };
498
+ };
499
+ };
500
+ ClientIdV2Controller_findOne_v2: {
501
+ parameters: {
502
+ query?: never;
503
+ header?: {
504
+ /** @description API key for authentication (optional if using session) */
505
+ "x-api-key"?: string;
506
+ /** @description Bearer token for session authentication (optional if using API key) */
507
+ Authorization?: string;
508
+ };
509
+ path: {
510
+ /** @description Client ID internal identifier */
511
+ id: string;
512
+ };
513
+ cookie?: never;
514
+ };
515
+ requestBody?: never;
516
+ responses: {
517
+ /** @description Client ID details */
518
+ 200: {
519
+ headers: {
520
+ [name: string]: unknown;
521
+ };
522
+ content: {
523
+ "application/json": {
524
+ id?: string;
525
+ clientId?: string;
526
+ label?: string;
527
+ allowedDomains?: string[];
528
+ feePercentage?: string | null;
529
+ feeAddress?: string | null;
530
+ status?: string;
531
+ createdAt?: string;
532
+ updatedAt?: string;
533
+ lastUsedAt?: string | null;
534
+ };
535
+ };
536
+ };
537
+ /** @description Unauthorized - invalid session */
538
+ 401: {
539
+ headers: {
540
+ [name: string]: unknown;
541
+ };
542
+ content?: never;
543
+ };
544
+ /** @description Client ID not found */
545
+ 404: {
546
+ headers: {
547
+ [name: string]: unknown;
548
+ };
549
+ content?: never;
550
+ };
551
+ /** @description Too Many Requests */
552
+ 429: {
553
+ headers: {
554
+ [name: string]: unknown;
555
+ };
556
+ content?: never;
557
+ };
558
+ };
559
+ };
560
+ ClientIdV2Controller_update_v2: {
561
+ parameters: {
562
+ query?: never;
563
+ header?: {
564
+ /** @description API key for authentication (optional if using session) */
565
+ "x-api-key"?: string;
566
+ /** @description Bearer token for session authentication (optional if using API key) */
567
+ Authorization?: string;
568
+ };
569
+ path: {
570
+ /** @description Client ID internal identifier */
571
+ id: string;
572
+ };
573
+ cookie?: never;
574
+ };
575
+ requestBody: {
576
+ content: {
577
+ "application/json": {
578
+ label?: string;
579
+ /** @description List of allowed domain origins (normalized) */
580
+ allowedDomains?: string[];
581
+ /** @description Fee percentage (e.g., '1' = 1%, '2.5' = 2.5%). If set to '0', allows API request fees to take precedence. If set to any other value, overrides any fee passed via API. Set to null to unset. */
582
+ feePercentage?: string | null;
583
+ /** @description Wallet address to receive fees. Required if feePercentage is set. Set to null to unset. */
584
+ feeAddress?: string | null;
585
+ /** @enum {string} */
586
+ status?: "active" | "inactive" | "revoked";
587
+ };
588
+ };
589
+ };
590
+ responses: {
591
+ /** @description Client ID updated successfully */
592
+ 200: {
593
+ headers: {
594
+ [name: string]: unknown;
595
+ };
596
+ content: {
597
+ "application/json": {
598
+ id?: string;
599
+ clientId?: string;
600
+ label?: string;
601
+ allowedDomains?: string[];
602
+ feePercentage?: string | null;
603
+ feeAddress?: string | null;
604
+ status?: string;
605
+ updatedAt?: string;
606
+ };
607
+ };
608
+ };
609
+ /** @description Bad request - validation failed or cannot reactivate revoked ID */
610
+ 400: {
611
+ headers: {
612
+ [name: string]: unknown;
613
+ };
614
+ content?: never;
615
+ };
616
+ /** @description Unauthorized - invalid session */
617
+ 401: {
618
+ headers: {
619
+ [name: string]: unknown;
620
+ };
621
+ content?: never;
622
+ };
623
+ /** @description Client ID not found */
624
+ 404: {
625
+ headers: {
626
+ [name: string]: unknown;
627
+ };
628
+ content?: never;
629
+ };
630
+ /** @description Too Many Requests */
631
+ 429: {
632
+ headers: {
633
+ [name: string]: unknown;
634
+ };
635
+ content?: never;
636
+ };
637
+ };
638
+ };
639
+ ClientIdV2Controller_delete_v2: {
640
+ parameters: {
641
+ query?: never;
642
+ header?: {
643
+ /** @description API key for authentication (optional if using session) */
644
+ "x-api-key"?: string;
645
+ /** @description Bearer token for session authentication (optional if using API key) */
646
+ Authorization?: string;
647
+ };
648
+ path: {
649
+ /** @description Client ID internal identifier */
650
+ id: string;
651
+ };
652
+ cookie?: never;
653
+ };
654
+ requestBody?: never;
655
+ responses: {
656
+ /** @description Client ID revoked successfully */
657
+ 200: {
658
+ headers: {
659
+ [name: string]: unknown;
660
+ };
661
+ content?: never;
662
+ };
663
+ /** @description Unauthorized - invalid session */
664
+ 401: {
665
+ headers: {
666
+ [name: string]: unknown;
667
+ };
668
+ content?: never;
669
+ };
670
+ /** @description Client ID not found */
671
+ 404: {
672
+ headers: {
673
+ [name: string]: unknown;
674
+ };
675
+ content?: never;
676
+ };
677
+ /** @description Too Many Requests */
678
+ 429: {
679
+ headers: {
680
+ [name: string]: unknown;
681
+ };
682
+ content?: never;
683
+ };
684
+ };
685
+ };
686
+ RequestControllerV1_createRequest_v1: {
687
+ parameters: {
688
+ query?: never;
689
+ header: {
690
+ /** @description API key for authentication */
691
+ "x-api-key": string;
692
+ };
693
+ path?: never;
694
+ cookie?: never;
695
+ };
696
+ requestBody: {
697
+ content: {
698
+ "application/json": {
699
+ /** @description The wallet address of the payer */
700
+ payer?: string;
701
+ /** @description The wallet address of the payee */
702
+ payee: string;
703
+ /** @description The payable amount of the invoice, in human readable format */
704
+ amount: string;
705
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
706
+ invoiceCurrency: string;
707
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
708
+ paymentCurrency: string;
709
+ /** @description The recurrence of the invoice */
710
+ recurrence?: {
711
+ /** @description The start date of the invoice, cannot be in the past */
712
+ startDate: string;
713
+ /**
714
+ * @description The frequency of the invoice
715
+ * @enum {string}
716
+ */
717
+ frequency: "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
718
+ };
719
+ };
720
+ };
721
+ };
722
+ responses: {
723
+ /** @description Request created successfully */
724
+ 201: {
725
+ headers: {
726
+ [name: string]: unknown;
727
+ };
728
+ content: {
729
+ "application/json": {
730
+ /**
731
+ * @description Unique identifier of the request, used to pay the request as well as check the status of the request
732
+ * @example 0xb3581f0b0f74cc61
733
+ */
734
+ paymentReference?: string;
735
+ /**
736
+ * @description Unique identifier of the request, commonly used to look up a request in Request Scan
737
+ * @example 01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
738
+ */
739
+ requestID?: string;
740
+ };
741
+ };
742
+ };
743
+ /** @description Validation failed */
744
+ 400: {
745
+ headers: {
746
+ [name: string]: unknown;
747
+ };
748
+ content?: never;
749
+ };
750
+ /** @description Unauthorized */
751
+ 401: {
752
+ headers: {
753
+ [name: string]: unknown;
754
+ };
755
+ content?: never;
756
+ };
757
+ /** @description Wallet not found */
758
+ 404: {
759
+ headers: {
760
+ [name: string]: unknown;
761
+ };
762
+ content?: never;
763
+ };
764
+ /** @description Too Many Requests */
765
+ 429: {
766
+ headers: {
767
+ [name: string]: unknown;
768
+ };
769
+ content?: never;
770
+ };
771
+ };
772
+ };
773
+ RequestControllerV1_getRequestStatus_v1: {
774
+ parameters: {
775
+ query?: never;
776
+ header: {
777
+ /** @description API key for authentication */
778
+ "x-api-key": string;
779
+ };
780
+ path: {
781
+ /** @description The payment reference of the request */
782
+ paymentReference: string;
783
+ };
784
+ cookie?: never;
785
+ };
786
+ requestBody?: never;
787
+ responses: {
788
+ /** @description Request status retrieved successfully */
789
+ 200: {
790
+ headers: {
791
+ [name: string]: unknown;
792
+ };
793
+ content: {
794
+ "application/json": {
795
+ /** @description Whether the request has been paid or not */
796
+ hasBeenPaid?: boolean;
797
+ /**
798
+ * @description The payment reference of the request
799
+ * @example 0xb3581f0b0f74cc61
800
+ */
801
+ paymentReference?: string;
802
+ /**
803
+ * @description The request ID of the request
804
+ * @example 01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
805
+ */
806
+ requestId?: string;
807
+ /** @description Whether the request is listening for a payment */
808
+ isListening?: boolean;
809
+ /** @description The transaction hash of the payment */
810
+ txHash?: string | null;
811
+ };
812
+ };
813
+ };
814
+ /** @description Unauthorized */
815
+ 401: {
816
+ headers: {
817
+ [name: string]: unknown;
818
+ };
819
+ content?: never;
820
+ };
821
+ /** @description Request not found */
822
+ 404: {
823
+ headers: {
824
+ [name: string]: unknown;
825
+ };
826
+ content?: never;
827
+ };
828
+ /** @description Too Many Requests */
829
+ 429: {
830
+ headers: {
831
+ [name: string]: unknown;
832
+ };
833
+ content?: never;
834
+ };
835
+ };
836
+ };
837
+ RequestControllerV1_stopRecurrenceRequest_v1: {
838
+ parameters: {
839
+ query?: never;
840
+ header: {
841
+ /** @description API key for authentication */
842
+ "x-api-key": string;
843
+ };
844
+ path: {
845
+ /** @description The payment reference of the request */
846
+ paymentReference: string;
847
+ };
848
+ cookie?: never;
849
+ };
850
+ requestBody?: never;
851
+ responses: {
852
+ /** @description Recurrence stopped successfully */
853
+ 200: {
854
+ headers: {
855
+ [name: string]: unknown;
856
+ };
857
+ content?: never;
858
+ };
859
+ /** @description Unauthorized */
860
+ 401: {
861
+ headers: {
862
+ [name: string]: unknown;
863
+ };
864
+ content?: never;
865
+ };
866
+ /** @description Request not found */
867
+ 404: {
868
+ headers: {
869
+ [name: string]: unknown;
870
+ };
871
+ content?: never;
872
+ };
873
+ /** @description Too Many Requests */
874
+ 429: {
875
+ headers: {
876
+ [name: string]: unknown;
877
+ };
878
+ content?: never;
879
+ };
880
+ };
881
+ };
882
+ RequestControllerV1_getPaymentCalldata_v1: {
883
+ parameters: {
884
+ query?: {
885
+ /** @description The wallet address of the payer. */
886
+ wallet?: string;
887
+ /** @description The source chain of the crosschain payment */
888
+ chain?: "BASE" | "OPTIMISM" | "ARBITRUM" | "ETHEREUM";
889
+ /** @description The source token of the crosschain payment */
890
+ token?: "USDC" | "USDT" | "DAI";
891
+ /** @description The amount to pay, in human readable format */
892
+ amount?: string;
893
+ };
894
+ header: {
895
+ /** @description API key for authentication */
896
+ "x-api-key": string;
897
+ };
898
+ path: {
899
+ /** @description The payment reference of the request */
900
+ paymentReference: string;
901
+ };
902
+ cookie?: never;
903
+ };
904
+ requestBody?: never;
905
+ responses: {
906
+ /** @description Payment calldata retrieved successfully */
907
+ 200: {
908
+ headers: {
909
+ [name: string]: unknown;
910
+ };
911
+ content: {
912
+ "application/json": {
913
+ /** @description Array of transactions to execute for the payment */
914
+ transactions: {
915
+ /** @description Transaction calldata */
916
+ data: string;
917
+ /** @description Target contract address */
918
+ to: string;
919
+ /** @description Payment amount in EVM-compatible format */
920
+ value: {
921
+ /** @enum {string} */
922
+ type?: "BigNumber";
923
+ /** @description Amount encoded in hex */
924
+ hex?: string;
925
+ };
926
+ }[];
927
+ /** @description Metadata about the payment requirements */
928
+ metadata: {
929
+ /** @description Number of transactions required */
930
+ stepsRequired: number;
931
+ /** @description Whether token approval is needed */
932
+ needsApproval: boolean;
933
+ /** @description Index of the approval transaction if needed */
934
+ approvalTransactionIndex?: number | null;
935
+ /** @description Whether payer has sufficient balance */
936
+ hasEnoughBalance: boolean;
937
+ /** @description Whether payer has sufficient gas */
938
+ hasEnoughGas: boolean;
939
+ };
940
+ } | {
941
+ /** @description Unique identifier for the payment intent */
942
+ paymentIntentId: string;
943
+ /** @description EIP-712 typed data for payment intent signature */
944
+ paymentIntent: string;
945
+ /** @description EIP-712 typed data for token approval permit (for EIP-2612 compliant tokens) */
946
+ approvalPermitPayload?: string | null;
947
+ /** @description Transaction calldata for token approval (for non-EIP-2612 tokens) */
948
+ approvalCalldata?: {
949
+ /** @description Token contract address */
950
+ to?: string;
951
+ /** @description Approval transaction calldata */
952
+ data?: string;
953
+ /** @description Transaction value (usually '0x0') */
954
+ value?: string;
955
+ } | null;
956
+ /** @description Metadata about the crosschain payment */
957
+ metadata: {
958
+ /** @description Whether the token supports EIP-2612 permits */
959
+ supportsEIP2612: boolean;
960
+ };
961
+ };
962
+ };
963
+ };
964
+ /** @description Validation failed */
965
+ 400: {
966
+ headers: {
967
+ [name: string]: unknown;
968
+ };
969
+ content: {
970
+ "application/json": unknown;
971
+ };
972
+ };
973
+ /** @description Unauthorized */
974
+ 401: {
975
+ headers: {
976
+ [name: string]: unknown;
977
+ };
978
+ content?: never;
979
+ };
980
+ /** @description Request not found */
981
+ 404: {
982
+ headers: {
983
+ [name: string]: unknown;
984
+ };
985
+ content?: never;
986
+ };
987
+ /** @description Too Many Requests */
988
+ 429: {
989
+ headers: {
990
+ [name: string]: unknown;
991
+ };
992
+ content?: never;
993
+ };
994
+ };
995
+ };
996
+ RequestControllerV1_getRequestPaymentRoutes_v1: {
997
+ parameters: {
998
+ query: {
999
+ /** @description The wallet address of the payer */
1000
+ wallet: string;
1001
+ /** @description The amount to pay, in human readable format */
1002
+ amount?: string;
1003
+ /** @description Fee percentage to apply at payment time (e.g., '2.5' for 2.5%) */
1004
+ feePercentage?: string;
1005
+ /** @description Address to receive the fee */
1006
+ feeAddress?: string;
1007
+ };
1008
+ header: {
1009
+ /** @description API key for authentication */
1010
+ "x-api-key": string;
1011
+ };
1012
+ path: {
1013
+ /** @description The payment reference of the request */
1014
+ paymentReference: string;
1015
+ };
1016
+ cookie?: never;
1017
+ };
1018
+ requestBody?: never;
1019
+ responses: {
1020
+ /** @description Available payment routes */
1021
+ 200: {
1022
+ headers: {
1023
+ [name: string]: unknown;
1024
+ };
1025
+ content: {
1026
+ "application/json": {
1027
+ /** @description Array of available payment routes */
1028
+ routes: {
1029
+ /** @description Unique identifier for the route */
1030
+ id: string;
1031
+ /** @description Total fee for this route (as a decimal, e.g., 0.001 = 0.1%) */
1032
+ fee: number;
1033
+ /** @description Detailed breakdown of all fees for this route */
1034
+ feeBreakdown?: {
1035
+ /**
1036
+ * @description Type of fee
1037
+ * @enum {string}
1038
+ */
1039
+ type?: "gas" | "platform" | "crosschain" | "crypto-to-fiat" | "offramp";
1040
+ /**
1041
+ * @description Stage when the fee is applied
1042
+ * @enum {string}
1043
+ */
1044
+ stage?: "sending" | "receiving" | "proxying" | "refunding" | "overall";
1045
+ /** @description Provider that charged the fee */
1046
+ provider?: string;
1047
+ /** @description Fee amount in human-readable format (formatted with token decimals) */
1048
+ amount?: string;
1049
+ /** @description Fee amount in USD */
1050
+ amountInUSD?: string;
1051
+ /** @description Fee currency */
1052
+ currency?: string;
1053
+ /** @description Address that received the fee */
1054
+ receiverAddress?: string;
1055
+ /** @description Network where the fee was paid */
1056
+ network?: string;
1057
+ /** @description Provider used for rate conversion */
1058
+ rateProvider?: string;
1059
+ }[];
1060
+ /** @description Route speed - 'FAST' for direct payments, number of seconds for crosschain */
1061
+ speed: string | number;
1062
+ /** @description Price impact of the route (as a decimal) */
1063
+ price_impact?: number;
1064
+ /** @description Source chain for the payment */
1065
+ chain: string;
1066
+ /** @description Token symbol for the payment */
1067
+ token: string;
1068
+ }[];
1069
+ };
1070
+ };
1071
+ };
1072
+ /** @description Invalid or missing wallet address */
1073
+ 400: {
1074
+ headers: {
1075
+ [name: string]: unknown;
1076
+ };
1077
+ content?: never;
1078
+ };
1079
+ /** @description Unauthorized */
1080
+ 401: {
1081
+ headers: {
1082
+ [name: string]: unknown;
1083
+ };
1084
+ content?: never;
1085
+ };
1086
+ /** @description Request not found */
1087
+ 404: {
1088
+ headers: {
1089
+ [name: string]: unknown;
1090
+ };
1091
+ content?: never;
1092
+ };
1093
+ /** @description Too Many Requests */
1094
+ 429: {
1095
+ headers: {
1096
+ [name: string]: unknown;
1097
+ };
1098
+ content?: never;
1099
+ };
1100
+ };
1101
+ };
1102
+ RequestControllerV1_sendPaymentIntent_v1: {
1103
+ parameters: {
1104
+ query?: never;
1105
+ header: {
1106
+ /** @description API key for authentication */
1107
+ "x-api-key": string;
1108
+ };
1109
+ path: {
1110
+ /** @description The payment intent ID */
1111
+ paymentIntentId: string;
1112
+ };
1113
+ cookie?: never;
1114
+ };
1115
+ requestBody: {
1116
+ content: {
1117
+ "application/json": {
1118
+ /** @description The signed payment intent data. */
1119
+ signedPaymentIntent: {
1120
+ /** @description The signature of the permit2 approval for token transfer */
1121
+ signature: string;
1122
+ /** @description The unique nonce for this permit2 transaction */
1123
+ nonce: string;
1124
+ /** @description The Unix timestamp when this permit2 approval expires */
1125
+ deadline: string;
1126
+ };
1127
+ /** @description The EIP2612 gasless token approval data that allows Permit2 to access user tokens */
1128
+ signedApprovalPermit?: {
1129
+ /** @description The signature for the EIP2612 gasless token approval */
1130
+ signature: string;
1131
+ /** @description The unique nonce for the EIP2612 permit */
1132
+ nonce: string;
1133
+ /** @description The Unix timestamp when this EIP2612 permit expires */
1134
+ deadline: string;
1135
+ };
1136
+ };
1137
+ };
1138
+ };
1139
+ responses: {
1140
+ /** @description Unauthorized */
1141
+ 401: {
1142
+ headers: {
1143
+ [name: string]: unknown;
1144
+ };
1145
+ content?: never;
1146
+ };
1147
+ /** @description Payment intent data not found */
1148
+ 404: {
1149
+ headers: {
1150
+ [name: string]: unknown;
1151
+ };
1152
+ content?: never;
1153
+ };
1154
+ /** @description Too Many Requests */
1155
+ 429: {
1156
+ headers: {
1157
+ [name: string]: unknown;
1158
+ };
1159
+ content?: never;
1160
+ };
1161
+ };
1162
+ };
1163
+ RequestControllerV2_createRequest_v2: {
1164
+ parameters: {
1165
+ query?: never;
1166
+ header?: {
1167
+ /** @description API key for authentication (optional if using Client ID) */
1168
+ "x-api-key"?: string;
1169
+ /** @description Client ID for frontend authentication (optional if using API key) */
1170
+ "x-client-id"?: string;
1171
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1172
+ Origin?: string;
1173
+ };
1174
+ path?: never;
1175
+ cookie?: never;
1176
+ };
1177
+ requestBody: {
1178
+ content: {
1179
+ "application/json": {
1180
+ /** @description The wallet address of the payer */
1181
+ payer?: string;
1182
+ /** @description The wallet address of the payee. Required for all requests except crypto-to-fiat */
1183
+ payee?: string;
1184
+ /** @description The payable amount of the invoice, in human readable format */
1185
+ amount: string;
1186
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
1187
+ invoiceCurrency: string;
1188
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
1189
+ paymentCurrency: string;
1190
+ /** @description The recurrence of the invoice */
1191
+ recurrence?: {
1192
+ /** @description The start date of the invoice, cannot be in the past */
1193
+ startDate: string;
1194
+ /**
1195
+ * @description The frequency of the invoice
1196
+ * @enum {string}
1197
+ */
1198
+ frequency: "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
1199
+ };
1200
+ /** @description Whether crypto-to-fiat payment is available for this request */
1201
+ isCryptoToFiatAvailable?: boolean;
1202
+ /** @description Optional customer information for merchant receipt tracking */
1203
+ customerInfo?: {
1204
+ /** @description Customer's first name */
1205
+ firstName?: string;
1206
+ /** @description Customer's last name */
1207
+ lastName?: string;
1208
+ /**
1209
+ * Format: email
1210
+ * @description Customer's email address
1211
+ */
1212
+ email?: string;
1213
+ /** @description Customer's address */
1214
+ address?: {
1215
+ /** @description Street address */
1216
+ street?: string;
1217
+ /** @description City */
1218
+ city?: string;
1219
+ /** @description State or province */
1220
+ state?: string;
1221
+ /** @description Postal or ZIP code */
1222
+ postalCode?: string;
1223
+ /** @description Country code (ISO 3166-1 alpha-2) */
1224
+ country?: string;
1225
+ };
1226
+ };
1227
+ /** @description Merchant reference for receipt tracking and identification */
1228
+ reference?: string;
1229
+ /** @description ID of the original request for recurring payments */
1230
+ originalRequestId?: string;
1231
+ /** @description Payment reference of the original request for recurring payments */
1232
+ originalRequestPaymentReference?: string;
1233
+ };
1234
+ };
1235
+ };
1236
+ responses: {
1237
+ /** @description Request created successfully */
1238
+ 201: {
1239
+ headers: {
1240
+ [name: string]: unknown;
1241
+ };
1242
+ content: {
1243
+ "application/json": {
1244
+ /**
1245
+ * @description Unique identifier of the request, used to pay the request as well as check the status of the request
1246
+ * @example 0xb3581f0b0f74cc61
1247
+ */
1248
+ paymentReference?: string;
1249
+ /**
1250
+ * @description Unique identifier of the request, commonly used to look up a request in Request Scan
1251
+ * @example 01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
1252
+ */
1253
+ requestId?: string;
1254
+ };
1255
+ };
1256
+ };
1257
+ /** @description Validation failed */
1258
+ 400: {
1259
+ headers: {
1260
+ [name: string]: unknown;
1261
+ };
1262
+ content?: never;
1263
+ };
1264
+ /** @description Wallet not found */
1265
+ 404: {
1266
+ headers: {
1267
+ [name: string]: unknown;
1268
+ };
1269
+ content?: never;
1270
+ };
1271
+ /** @description Too Many Requests */
1272
+ 429: {
1273
+ headers: {
1274
+ [name: string]: unknown;
1275
+ };
1276
+ content?: never;
1277
+ };
1278
+ };
1279
+ };
1280
+ RequestControllerV2_getRequestStatus_v2: {
1281
+ parameters: {
1282
+ query?: never;
1283
+ header?: {
1284
+ /** @description API key for authentication (optional if using Client ID) */
1285
+ "x-api-key"?: string;
1286
+ /** @description Client ID for frontend authentication (optional if using API key) */
1287
+ "x-client-id"?: string;
1288
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1289
+ Origin?: string;
1290
+ };
1291
+ path: {
1292
+ /** @description The requestId for the request */
1293
+ requestId: string;
1294
+ };
1295
+ cookie?: never;
1296
+ };
1297
+ requestBody?: never;
1298
+ responses: {
1299
+ /** @description Request status retrieved successfully */
1300
+ 200: {
1301
+ headers: {
1302
+ [name: string]: unknown;
1303
+ };
1304
+ content: {
1305
+ "application/json": {
1306
+ /** @description Whether the request has been paid */
1307
+ hasBeenPaid?: boolean;
1308
+ /** @description Unique identifier used for payments and status checks */
1309
+ paymentReference?: string;
1310
+ /** @description Unique identifier of the request */
1311
+ requestId?: string;
1312
+ /** @description Whether the system is actively listening for payments on this request */
1313
+ isListening?: boolean;
1314
+ /** @description Transaction hash of the payment, null if not yet paid */
1315
+ txHash?: string | null;
1316
+ /** @description Recurrence configuration for recurring requests */
1317
+ recurrence?: Record<string, never>;
1318
+ /** @description Original request ID for recurring requests */
1319
+ originalRequestId?: string;
1320
+ /** @description Current status of the request */
1321
+ status?: string;
1322
+ /** @description Whether crypto-to-fiat conversion is available for this request */
1323
+ isCryptoToFiatAvailable?: boolean;
1324
+ /** @description Payment reference of the original request for recurring payments */
1325
+ originalRequestPaymentReference?: string;
1326
+ /** @description Array of payments made to this request */
1327
+ payments?: Record<string, never>[];
1328
+ /** @description Whether recurrence has been stopped for this request */
1329
+ isRecurrenceStopped?: boolean;
1330
+ /** @description Customer information for merchant receipt tracking */
1331
+ customerInfo?: {
1332
+ /** @description Customer's first name */
1333
+ firstName?: string;
1334
+ /** @description Customer's last name */
1335
+ lastName?: string;
1336
+ /** @description Customer's email address */
1337
+ email?: string;
1338
+ /** @description Customer's address */
1339
+ address?: {
1340
+ /** @description Street address */
1341
+ street?: string;
1342
+ /** @description City */
1343
+ city?: string;
1344
+ /** @description State or province */
1345
+ state?: string;
1346
+ /** @description Postal or ZIP code */
1347
+ postalCode?: string;
1348
+ /** @description Country code (ISO 3166-1 alpha-2) */
1349
+ country?: string;
1350
+ };
1351
+ } | null;
1352
+ /** @description Merchant reference for receipt tracking and identification */
1353
+ reference?: string | null;
1354
+ };
1355
+ };
1356
+ };
1357
+ /** @description Request not found */
1358
+ 404: {
1359
+ headers: {
1360
+ [name: string]: unknown;
1361
+ };
1362
+ content?: never;
1363
+ };
1364
+ /** @description Too Many Requests */
1365
+ 429: {
1366
+ headers: {
1367
+ [name: string]: unknown;
1368
+ };
1369
+ content?: never;
1370
+ };
1371
+ };
1372
+ };
1373
+ RequestControllerV2_updateRequest_v2: {
1374
+ parameters: {
1375
+ query?: never;
1376
+ header?: {
1377
+ /** @description API key for authentication (optional if using Client ID) */
1378
+ "x-api-key"?: string;
1379
+ /** @description Client ID for frontend authentication (optional if using API key) */
1380
+ "x-client-id"?: string;
1381
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1382
+ Origin?: string;
1383
+ };
1384
+ path: {
1385
+ /** @description The requestId for the request */
1386
+ requestId: string;
1387
+ };
1388
+ cookie?: never;
1389
+ };
1390
+ requestBody?: never;
1391
+ responses: {
1392
+ /** @description Recurrence updated successfully */
1393
+ 200: {
1394
+ headers: {
1395
+ [name: string]: unknown;
1396
+ };
1397
+ content?: never;
1398
+ };
1399
+ /** @description Request not found */
1400
+ 404: {
1401
+ headers: {
1402
+ [name: string]: unknown;
1403
+ };
1404
+ content?: never;
1405
+ };
1406
+ /** @description Too Many Requests */
1407
+ 429: {
1408
+ headers: {
1409
+ [name: string]: unknown;
1410
+ };
1411
+ content?: never;
1412
+ };
1413
+ };
1414
+ };
1415
+ RequestControllerV2_getPaymentCalldata_v2: {
1416
+ parameters: {
1417
+ query?: {
1418
+ /** @description The wallet address of the payer. */
1419
+ wallet?: string;
1420
+ /** @description The source chain of the crosschain payment */
1421
+ chain?: "BASE" | "OPTIMISM" | "ARBITRUM" | "ETHEREUM";
1422
+ /** @description The source token of the crosschain payment */
1423
+ token?: "USDC" | "USDT" | "DAI";
1424
+ /** @description The amount to pay, in human readable format */
1425
+ amount?: string;
1426
+ /** @description Optional client user ID for off-ramp payments */
1427
+ clientUserId?: string;
1428
+ /** @description Optional payment details ID for off-ramp payments */
1429
+ paymentDetailsId?: string;
1430
+ /** @description Fee percentage to apply at payment time (e.g., '2.5' for 2.5%) */
1431
+ feePercentage?: string;
1432
+ /** @description Address to receive the fee */
1433
+ feeAddress?: string;
1434
+ };
1435
+ header?: {
1436
+ /** @description API key for authentication (optional if using Client ID) */
1437
+ "x-api-key"?: string;
1438
+ /** @description Client ID for frontend authentication (optional if using API key) */
1439
+ "x-client-id"?: string;
1440
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1441
+ Origin?: string;
1442
+ };
1443
+ path: {
1444
+ /** @description The requestId of the request */
1445
+ requestId: string;
1446
+ };
1447
+ cookie?: never;
1448
+ };
1449
+ requestBody?: never;
1450
+ responses: {
1451
+ /** @description Payment calldata retrieved successfully */
1452
+ 200: {
1453
+ headers: {
1454
+ [name: string]: unknown;
1455
+ };
1456
+ content: {
1457
+ "application/json": {
1458
+ /** @description Array of transactions to execute for the payment */
1459
+ transactions: {
1460
+ /** @description Transaction calldata */
1461
+ data: string;
1462
+ /** @description Target contract address */
1463
+ to: string;
1464
+ /** @description Payment amount in EVM-compatible format */
1465
+ value: {
1466
+ /** @enum {string} */
1467
+ type?: "BigNumber";
1468
+ /** @description Amount encoded in hex */
1469
+ hex?: string;
1470
+ };
1471
+ }[];
1472
+ /** @description Metadata about the payment requirements */
1473
+ metadata: {
1474
+ /** @description Number of transactions required */
1475
+ stepsRequired: number;
1476
+ /** @description Whether token approval is needed */
1477
+ needsApproval: boolean;
1478
+ /** @description Index of the approval transaction if needed */
1479
+ approvalTransactionIndex?: number | null;
1480
+ /** @description Whether payer has sufficient balance */
1481
+ hasEnoughBalance: boolean;
1482
+ /** @description Whether payer has sufficient gas */
1483
+ hasEnoughGas: boolean;
1484
+ };
1485
+ } | {
1486
+ /** @description Unique identifier for the payment intent */
1487
+ paymentIntentId: string;
1488
+ /** @description EIP-712 typed data for payment intent signature */
1489
+ paymentIntent: string;
1490
+ /** @description EIP-712 typed data for token approval permit (for EIP-2612 compliant tokens) */
1491
+ approvalPermitPayload?: string | null;
1492
+ /** @description Transaction calldata for token approval (for non-EIP-2612 tokens) */
1493
+ approvalCalldata?: {
1494
+ /** @description Token contract address */
1495
+ to?: string;
1496
+ /** @description Approval transaction calldata */
1497
+ data?: string;
1498
+ /** @description Transaction value (usually '0x0') */
1499
+ value?: string;
1500
+ } | null;
1501
+ /** @description Metadata about the crosschain payment */
1502
+ metadata: {
1503
+ /** @description Whether the token supports EIP-2612 permits */
1504
+ supportsEIP2612: boolean;
1505
+ };
1506
+ };
1507
+ };
1508
+ };
1509
+ /** @description Validation failed */
1510
+ 400: {
1511
+ headers: {
1512
+ [name: string]: unknown;
1513
+ };
1514
+ content: {
1515
+ "application/json": unknown;
1516
+ };
1517
+ };
1518
+ /** @description Request not found */
1519
+ 404: {
1520
+ headers: {
1521
+ [name: string]: unknown;
1522
+ };
1523
+ content?: never;
1524
+ };
1525
+ /** @description Too Many Requests */
1526
+ 429: {
1527
+ headers: {
1528
+ [name: string]: unknown;
1529
+ };
1530
+ content?: never;
1531
+ };
1532
+ };
1533
+ };
1534
+ RequestControllerV2_getRequestPaymentRoutes_v2: {
1535
+ parameters: {
1536
+ query: {
1537
+ /** @description The wallet address of the payer */
1538
+ wallet: string;
1539
+ /** @description The amount to pay, in human readable format */
1540
+ amount?: string;
1541
+ /** @description Fee percentage to apply at payment time (e.g., '2.5' for 2.5%) */
1542
+ feePercentage?: string;
1543
+ /** @description Address to receive the fee */
1544
+ feeAddress?: string;
1545
+ };
1546
+ header?: {
1547
+ /** @description API key for authentication (optional if using Client ID) */
1548
+ "x-api-key"?: string;
1549
+ /** @description Client ID for frontend authentication (optional if using API key) */
1550
+ "x-client-id"?: string;
1551
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1552
+ Origin?: string;
1553
+ };
1554
+ path: {
1555
+ /** @description The requestId of the request */
1556
+ requestId: string;
1557
+ };
1558
+ cookie?: never;
1559
+ };
1560
+ requestBody?: never;
1561
+ responses: {
1562
+ /** @description Available payment routes */
1563
+ 200: {
1564
+ headers: {
1565
+ [name: string]: unknown;
1566
+ };
1567
+ content: {
1568
+ "application/json": {
1569
+ /** @description Array of available payment routes */
1570
+ routes: {
1571
+ /** @description Unique identifier for the route */
1572
+ id: string;
1573
+ /** @description Total fee for this route (as a decimal, e.g., 0.001 = 0.1%) */
1574
+ fee: number;
1575
+ /** @description Detailed breakdown of all fees for this route */
1576
+ feeBreakdown?: {
1577
+ /**
1578
+ * @description Type of fee
1579
+ * @enum {string}
1580
+ */
1581
+ type?: "gas" | "platform" | "crosschain" | "crypto-to-fiat" | "offramp";
1582
+ /**
1583
+ * @description Stage when the fee is applied
1584
+ * @enum {string}
1585
+ */
1586
+ stage?: "sending" | "receiving" | "proxying" | "refunding" | "overall";
1587
+ /** @description Provider that charged the fee */
1588
+ provider?: string;
1589
+ /** @description Fee amount in human-readable format (formatted with token decimals) */
1590
+ amount?: string;
1591
+ /** @description Fee amount in USD */
1592
+ amountInUSD?: string;
1593
+ /** @description Fee currency */
1594
+ currency?: string;
1595
+ /** @description Address that received the fee */
1596
+ receiverAddress?: string;
1597
+ /** @description Network where the fee was paid */
1598
+ network?: string;
1599
+ /** @description Provider used for rate conversion */
1600
+ rateProvider?: string;
1601
+ }[];
1602
+ /** @description Route speed - 'FAST' for direct payments, number of seconds for crosschain */
1603
+ speed: string | number;
1604
+ /** @description Price impact of the route (as a decimal) */
1605
+ price_impact?: number;
1606
+ /** @description Source chain for the payment */
1607
+ chain: string;
1608
+ /** @description Token symbol for the payment */
1609
+ token: string;
1610
+ }[];
1611
+ };
1612
+ };
1613
+ };
1614
+ /** @description Invalid or missing wallet address */
1615
+ 400: {
1616
+ headers: {
1617
+ [name: string]: unknown;
1618
+ };
1619
+ content?: never;
1620
+ };
1621
+ /** @description Request not found */
1622
+ 404: {
1623
+ headers: {
1624
+ [name: string]: unknown;
1625
+ };
1626
+ content?: never;
1627
+ };
1628
+ /** @description Too Many Requests */
1629
+ 429: {
1630
+ headers: {
1631
+ [name: string]: unknown;
1632
+ };
1633
+ content?: never;
1634
+ };
1635
+ };
1636
+ };
1637
+ RequestControllerV2_sendPaymentIntent_v2: {
1638
+ parameters: {
1639
+ query?: never;
1640
+ header?: {
1641
+ /** @description API key for authentication (optional if using Client ID) */
1642
+ "x-api-key"?: string;
1643
+ /** @description Client ID for frontend authentication (optional if using API key) */
1644
+ "x-client-id"?: string;
1645
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
1646
+ Origin?: string;
1647
+ };
1648
+ path: {
1649
+ /** @description The payment intent ID */
1650
+ paymentIntentId: string;
1651
+ };
1652
+ cookie?: never;
1653
+ };
1654
+ requestBody: {
1655
+ content: {
1656
+ "application/json": {
1657
+ /** @description The signed payment intent data. */
1658
+ signedPaymentIntent: {
1659
+ /** @description The signature of the permit2 approval for token transfer */
1660
+ signature: string;
1661
+ /** @description The unique nonce for this permit2 transaction */
1662
+ nonce: string;
1663
+ /** @description The Unix timestamp when this permit2 approval expires */
1664
+ deadline: string;
1665
+ };
1666
+ /** @description The EIP2612 gasless token approval data that allows Permit2 to access user tokens */
1667
+ signedApprovalPermit?: {
1668
+ /** @description The signature for the EIP2612 gasless token approval */
1669
+ signature: string;
1670
+ /** @description The unique nonce for the EIP2612 permit */
1671
+ nonce: string;
1672
+ /** @description The Unix timestamp when this EIP2612 permit expires */
1673
+ deadline: string;
1674
+ };
1675
+ };
1676
+ };
1677
+ };
1678
+ responses: {
1679
+ /** @description Payment intent sent successfully */
1680
+ 200: {
1681
+ headers: {
1682
+ [name: string]: unknown;
1683
+ };
1684
+ content?: never;
1685
+ };
1686
+ /** @description Payment intent data not found */
1687
+ 404: {
1688
+ headers: {
1689
+ [name: string]: unknown;
1690
+ };
1691
+ content?: never;
1692
+ };
1693
+ /** @description Too Many Requests */
1694
+ 429: {
1695
+ headers: {
1696
+ [name: string]: unknown;
1697
+ };
1698
+ content?: never;
1699
+ };
1700
+ };
1701
+ };
1702
+ PayerV1Controller_getComplianceData_v1: {
1703
+ parameters: {
1704
+ query?: never;
1705
+ header: {
1706
+ /** @description API key for authentication */
1707
+ "x-api-key": string;
1708
+ };
1709
+ path?: never;
1710
+ cookie?: never;
1711
+ };
1712
+ requestBody: {
1713
+ content: {
1714
+ "application/json": {
1715
+ /** @description Client User ID */
1716
+ clientUserId: string;
1717
+ /**
1718
+ * Format: email
1719
+ * @description Email
1720
+ */
1721
+ email: string;
1722
+ /** @description First Name */
1723
+ firstName: string;
1724
+ /** @description Last Name */
1725
+ lastName: string;
1726
+ /** @enum {string} */
1727
+ beneficiaryType: "individual" | "business";
1728
+ /** @description Company Name */
1729
+ companyName?: string;
1730
+ /** @description Date of birth in YYYY-MM-DD format */
1731
+ dateOfBirth: string;
1732
+ /** @description Address Line 1 */
1733
+ addressLine1: string;
1734
+ /** @description Address Line 2 */
1735
+ addressLine2?: string;
1736
+ /** @description City */
1737
+ city: string;
1738
+ /** @description State */
1739
+ state: string;
1740
+ /** @description Postcode */
1741
+ postcode: string;
1742
+ /** @description Country */
1743
+ country: string;
1744
+ /** @description Nationality */
1745
+ nationality: string;
1746
+ /** @description Phone in E.164 format */
1747
+ phone: string;
1748
+ /** @description Social Security Number */
1749
+ ssn: string;
1750
+ /** @description Source of Funds */
1751
+ sourceOfFunds?: string;
1752
+ /** @description Business Activity */
1753
+ businessActivity?: string;
1754
+ };
1755
+ };
1756
+ };
1757
+ responses: {
1758
+ /** @description Compliance data retrieved successfully */
1759
+ 200: {
1760
+ headers: {
1761
+ [name: string]: unknown;
1762
+ };
1763
+ content: {
1764
+ "application/json": {
1765
+ /** Format: uri */
1766
+ agreementUrl?: string;
1767
+ /** Format: uri */
1768
+ kycUrl?: string;
1769
+ status: {
1770
+ /** @enum {string} */
1771
+ agreementStatus: "not_started" | "pending" | "signed" | "completed";
1772
+ /** @enum {string} */
1773
+ kycStatus: "not_started" | "initiated" | "completed";
1774
+ };
1775
+ /** Format: uuid */
1776
+ userId?: string;
1777
+ };
1778
+ };
1779
+ };
1780
+ /** @description Invalid request data */
1781
+ 400: {
1782
+ headers: {
1783
+ [name: string]: unknown;
1784
+ };
1785
+ content: {
1786
+ "application/json": {
1787
+ /** @example 400 */
1788
+ statusCode?: number;
1789
+ /** @example Compliance is only required for off-ramp requests */
1790
+ message?: string;
1791
+ /** @example Bad Request */
1792
+ error?: string;
1793
+ };
1794
+ };
1795
+ };
1796
+ /** @description Unauthorized */
1797
+ 401: {
1798
+ headers: {
1799
+ [name: string]: unknown;
1800
+ };
1801
+ content?: never;
1802
+ };
1803
+ /** @description Request not found */
1804
+ 404: {
1805
+ headers: {
1806
+ [name: string]: unknown;
1807
+ };
1808
+ content: {
1809
+ "application/json": {
1810
+ /** @example 404 */
1811
+ statusCode?: number;
1812
+ /** @example Request with payment reference pay-ref-123 not found */
1813
+ message?: string;
1814
+ /** @example Not Found */
1815
+ error?: string;
1816
+ };
1817
+ };
1818
+ };
1819
+ /** @description Too Many Requests */
1820
+ 429: {
1821
+ headers: {
1822
+ [name: string]: unknown;
1823
+ };
1824
+ content?: never;
1825
+ };
1826
+ };
1827
+ };
1828
+ PayerV1Controller_getComplianceStatus_v1: {
1829
+ parameters: {
1830
+ query?: never;
1831
+ header: {
1832
+ /** @description API key for authentication */
1833
+ "x-api-key": string;
1834
+ };
1835
+ path: {
1836
+ /** @description The client user ID to check compliance status for */
1837
+ clientUserId: string;
1838
+ };
1839
+ cookie?: never;
1840
+ };
1841
+ requestBody?: never;
1842
+ responses: {
1843
+ /** @description Compliance status retrieved successfully */
1844
+ 200: {
1845
+ headers: {
1846
+ [name: string]: unknown;
1847
+ };
1848
+ content: {
1849
+ "application/json": {
1850
+ /** @example completed */
1851
+ kycStatus?: string;
1852
+ /** @example completed */
1853
+ agreementStatus?: string;
1854
+ /** @example true */
1855
+ isCompliant?: boolean;
1856
+ /** @example a25a4274-8f50-4579-b476-8f35b297d4ad */
1857
+ userId?: string;
1858
+ };
1859
+ };
1860
+ };
1861
+ /** @description Unauthorized */
1862
+ 401: {
1863
+ headers: {
1864
+ [name: string]: unknown;
1865
+ };
1866
+ content?: never;
1867
+ };
1868
+ /** @description User not found */
1869
+ 404: {
1870
+ headers: {
1871
+ [name: string]: unknown;
1872
+ };
1873
+ content: {
1874
+ "application/json": {
1875
+ /** @example 404 */
1876
+ statusCode?: number;
1877
+ /** @example Payer with client user ID user-123 not found */
1878
+ message?: string;
1879
+ /** @example Not Found */
1880
+ error?: string;
1881
+ };
1882
+ };
1883
+ };
1884
+ /** @description Too Many Requests */
1885
+ 429: {
1886
+ headers: {
1887
+ [name: string]: unknown;
1888
+ };
1889
+ content?: never;
1890
+ };
1891
+ };
1892
+ };
1893
+ PayerV1Controller_updateComplianceStatus_v1: {
1894
+ parameters: {
1895
+ query?: never;
1896
+ header: {
1897
+ /** @description API key for authentication */
1898
+ "x-api-key": string;
1899
+ };
1900
+ path: {
1901
+ /** @description The client user ID to update */
1902
+ clientUserId: string;
1903
+ };
1904
+ cookie?: never;
1905
+ };
1906
+ requestBody: {
1907
+ content: {
1908
+ "application/json": {
1909
+ agreementCompleted: boolean;
1910
+ };
1911
+ };
1912
+ };
1913
+ responses: {
1914
+ /** @description Compliance status updated successfully */
1915
+ 200: {
1916
+ headers: {
1917
+ [name: string]: unknown;
1918
+ };
1919
+ content: {
1920
+ "application/json": {
1921
+ /** @example true */
1922
+ success?: boolean;
1923
+ };
1924
+ };
1925
+ };
1926
+ /** @description Invalid request data */
1927
+ 400: {
1928
+ headers: {
1929
+ [name: string]: unknown;
1930
+ };
1931
+ content: {
1932
+ "application/json": {
1933
+ /** @example 400 */
1934
+ statusCode?: number;
1935
+ /** @example agreementCompleted must be provided */
1936
+ message?: string;
1937
+ /** @example Bad Request */
1938
+ error?: string;
1939
+ };
1940
+ };
1941
+ };
1942
+ /** @description Unauthorized */
1943
+ 401: {
1944
+ headers: {
1945
+ [name: string]: unknown;
1946
+ };
1947
+ content?: never;
1948
+ };
1949
+ /** @description User not found */
1950
+ 404: {
1951
+ headers: {
1952
+ [name: string]: unknown;
1953
+ };
1954
+ content: {
1955
+ "application/json": {
1956
+ /** @example 404 */
1957
+ statusCode?: number;
1958
+ /** @example Payer with client user ID user-123 not found */
1959
+ message?: string;
1960
+ /** @example Not Found */
1961
+ error?: string;
1962
+ };
1963
+ };
1964
+ };
1965
+ /** @description Too Many Requests */
1966
+ 429: {
1967
+ headers: {
1968
+ [name: string]: unknown;
1969
+ };
1970
+ content?: never;
1971
+ };
1972
+ };
1973
+ };
1974
+ PayerV1Controller_getPaymentDetails_v1: {
1975
+ parameters: {
1976
+ query?: {
1977
+ /** @description Optional ID of specific payment details to retrieve */
1978
+ paymentDetailsId?: string;
1979
+ };
1980
+ header: {
1981
+ /** @description API key for authentication */
1982
+ "x-api-key": string;
1983
+ };
1984
+ path: {
1985
+ /** @description The client user ID to get payment details for */
1986
+ clientUserId: string;
1987
+ };
1988
+ cookie?: never;
1989
+ };
1990
+ requestBody?: never;
1991
+ responses: {
1992
+ /** @description Payment details retrieved successfully */
1993
+ 200: {
1994
+ headers: {
1995
+ [name: string]: unknown;
1996
+ };
1997
+ content: {
1998
+ "application/json": {
1999
+ paymentDetails?: {
2000
+ /** @example fa898aec-519c-46be-9b4c-e76ef4ff99d9 */
2001
+ id?: string;
2002
+ /** @example a25a4274-8f50-4579-b476-8f35b297d4ad */
2003
+ userId?: string;
2004
+ /** @example Chase */
2005
+ bankName?: string;
2006
+ /** @example Gordon's Chase Business Account */
2007
+ accountName?: string;
2008
+ /** @example business */
2009
+ beneficiaryType?: string;
2010
+ /** @example 253009233489 */
2011
+ accountNumber?: string;
2012
+ /** @example 026013356 */
2013
+ routingNumber?: string;
2014
+ /** @example usd */
2015
+ currency?: string;
2016
+ /** @example approved */
2017
+ status?: string;
2018
+ /** @example local */
2019
+ rails?: string;
2020
+ }[];
2021
+ };
2022
+ };
2023
+ };
2024
+ /** @description Unauthorized */
2025
+ 401: {
2026
+ headers: {
2027
+ [name: string]: unknown;
2028
+ };
2029
+ content?: never;
2030
+ };
2031
+ /** @description User or payment details not found */
2032
+ 404: {
2033
+ headers: {
2034
+ [name: string]: unknown;
2035
+ };
2036
+ content: {
2037
+ "application/json": {
2038
+ /** @example 404 */
2039
+ statusCode?: number;
2040
+ /** @example Payer with client user ID user-123 not found */
2041
+ message?: string;
2042
+ /** @example Not Found */
2043
+ error?: string;
2044
+ };
2045
+ };
2046
+ };
2047
+ /** @description Too Many Requests */
2048
+ 429: {
2049
+ headers: {
2050
+ [name: string]: unknown;
2051
+ };
2052
+ content?: never;
2053
+ };
2054
+ };
2055
+ };
2056
+ PayerV1Controller_createPaymentDetails_v1: {
2057
+ parameters: {
2058
+ query?: never;
2059
+ header: {
2060
+ /** @description API key for authentication */
2061
+ "x-api-key": string;
2062
+ };
2063
+ path: {
2064
+ /** @description The client user ID */
2065
+ clientUserId: string;
2066
+ };
2067
+ cookie?: never;
2068
+ };
2069
+ requestBody: {
2070
+ content: {
2071
+ "application/json": {
2072
+ /** @description Name of the bank */
2073
+ bankName: string;
2074
+ /** @description Name of the account holder */
2075
+ accountName: string;
2076
+ /** @description Bank account number */
2077
+ accountNumber?: string;
2078
+ /** @description Bank routing number (US) */
2079
+ routingNumber?: string;
2080
+ /**
2081
+ * @description Type of beneficiary
2082
+ * @enum {string}
2083
+ */
2084
+ beneficiaryType: "individual" | "business";
2085
+ /** @description Three-letter currency code (ISO 4217) */
2086
+ currency: string;
2087
+ /** @description Primary address line */
2088
+ addressLine1: string;
2089
+ /** @description Secondary address line */
2090
+ addressLine2?: string;
2091
+ /** @description City name */
2092
+ city: string;
2093
+ /** @description State or province code */
2094
+ state?: string;
2095
+ /** @description Two-letter country code (ISO 3166-1 alpha-2) */
2096
+ country: string;
2097
+ /** @description Date of birth in YYYY-MM-DD format */
2098
+ dateOfBirth: string;
2099
+ /** @description Postal or ZIP code */
2100
+ postalCode: string;
2101
+ /**
2102
+ * @description Payment rail type
2103
+ * @default local
2104
+ * @enum {string}
2105
+ */
2106
+ rails?: "local" | "swift" | "wire";
2107
+ /** @description UK bank sort code */
2108
+ sortCode?: string;
2109
+ /** @description International Bank Account Number */
2110
+ iban?: string;
2111
+ /** @description SWIFT/BIC code */
2112
+ swiftBic?: string;
2113
+ /** @description Government-issued ID number */
2114
+ documentNumber?: string;
2115
+ /** @description Type of government-issued ID (e.g., passport, driver's license) */
2116
+ documentType?: string;
2117
+ /**
2118
+ * @description Type of bank account
2119
+ * @enum {string}
2120
+ */
2121
+ accountType?: "checking" | "savings";
2122
+ /** @description French RIB number */
2123
+ ribNumber?: string;
2124
+ /** @description Australian BSB number */
2125
+ bsbNumber?: string;
2126
+ /** @description New Zealand NCC number */
2127
+ ncc?: string;
2128
+ /** @description Bank branch code */
2129
+ branchCode?: string;
2130
+ /** @description Bank code */
2131
+ bankCode?: string;
2132
+ /** @description Indian Financial System Code */
2133
+ ifsc?: string;
2134
+ };
2135
+ };
2136
+ };
2137
+ responses: {
2138
+ /** @description Payment details created successfully */
2139
+ 201: {
2140
+ headers: {
2141
+ [name: string]: unknown;
2142
+ };
2143
+ content: {
2144
+ "application/json": {
2145
+ payment_detail?: {
2146
+ /** @example pd_123456 */
2147
+ id?: string;
2148
+ /** @example user-123 */
2149
+ clientUserId?: string;
2150
+ /** @example Chase */
2151
+ bankName?: string;
2152
+ /** @example Gordon's Chase Business Account */
2153
+ accountName?: string;
2154
+ /** @example usd */
2155
+ currency?: string;
2156
+ /**
2157
+ * @example business
2158
+ * @enum {string}
2159
+ */
2160
+ beneficiaryType?: "individual" | "business";
2161
+ };
2162
+ };
2163
+ };
2164
+ };
2165
+ /** @description Invalid request data */
2166
+ 400: {
2167
+ headers: {
2168
+ [name: string]: unknown;
2169
+ };
2170
+ content: {
2171
+ "application/json": {
2172
+ /** @example 400 */
2173
+ statusCode?: number;
2174
+ /** @example Invalid bank account details */
2175
+ message?: string;
2176
+ /** @example Bad Request */
2177
+ error?: string;
2178
+ };
2179
+ };
2180
+ };
2181
+ /** @description Unauthorized */
2182
+ 401: {
2183
+ headers: {
2184
+ [name: string]: unknown;
2185
+ };
2186
+ content?: never;
2187
+ };
2188
+ /** @description User not found */
2189
+ 404: {
2190
+ headers: {
2191
+ [name: string]: unknown;
2192
+ };
2193
+ content: {
2194
+ "application/json": {
2195
+ /** @example 404 */
2196
+ statusCode?: number;
2197
+ /** @example User with ID user-123 not found */
2198
+ message?: string;
2199
+ /** @example Not Found */
2200
+ error?: string;
2201
+ };
2202
+ };
2203
+ };
2204
+ /** @description Too Many Requests */
2205
+ 429: {
2206
+ headers: {
2207
+ [name: string]: unknown;
2208
+ };
2209
+ content?: never;
2210
+ };
2211
+ };
2212
+ };
2213
+ PayerV2Controller_getComplianceData_v2: {
2214
+ parameters: {
2215
+ query?: never;
2216
+ header: {
2217
+ /** @description API key for authentication */
2218
+ "x-api-key": string;
2219
+ };
2220
+ path?: never;
2221
+ cookie?: never;
2222
+ };
2223
+ requestBody: {
2224
+ content: {
2225
+ "application/json": {
2226
+ /** @description Client User ID */
2227
+ clientUserId: string;
2228
+ /**
2229
+ * Format: email
2230
+ * @description Email
2231
+ */
2232
+ email: string;
2233
+ /** @description First Name */
2234
+ firstName: string;
2235
+ /** @description Last Name */
2236
+ lastName: string;
2237
+ /** @enum {string} */
2238
+ beneficiaryType: "individual" | "business";
2239
+ /** @description Company Name */
2240
+ companyName?: string;
2241
+ /** @description Date of birth in YYYY-MM-DD format */
2242
+ dateOfBirth: string;
2243
+ /** @description Address Line 1 */
2244
+ addressLine1: string;
2245
+ /** @description Address Line 2 */
2246
+ addressLine2?: string;
2247
+ /** @description City */
2248
+ city: string;
2249
+ /** @description State */
2250
+ state: string;
2251
+ /** @description Postcode */
2252
+ postcode: string;
2253
+ /** @description Country */
2254
+ country: string;
2255
+ /** @description Nationality */
2256
+ nationality: string;
2257
+ /** @description Phone in E.164 format */
2258
+ phone: string;
2259
+ /** @description Social Security Number */
2260
+ ssn: string;
2261
+ /** @description Source of Funds */
2262
+ sourceOfFunds?: string;
2263
+ /** @description Business Activity */
2264
+ businessActivity?: string;
2265
+ };
2266
+ };
2267
+ };
2268
+ responses: {
2269
+ /** @description Compliance data retrieved successfully */
2270
+ 200: {
2271
+ headers: {
2272
+ [name: string]: unknown;
2273
+ };
2274
+ content: {
2275
+ "application/json": {
2276
+ /** Format: uri */
2277
+ agreementUrl?: string;
2278
+ /** Format: uri */
2279
+ kycUrl?: string;
2280
+ status: {
2281
+ /** @enum {string} */
2282
+ agreementStatus: "not_started" | "pending" | "signed" | "completed";
2283
+ /** @enum {string} */
2284
+ kycStatus: "not_started" | "initiated" | "completed";
2285
+ };
2286
+ /** Format: uuid */
2287
+ userId?: string;
2288
+ };
2289
+ };
2290
+ };
2291
+ /** @description Invalid request data */
2292
+ 400: {
2293
+ headers: {
2294
+ [name: string]: unknown;
2295
+ };
2296
+ content: {
2297
+ "application/json": {
2298
+ /** @example 400 */
2299
+ statusCode?: number;
2300
+ /** @example Compliance is only required for off-ramp requests */
2301
+ message?: string;
2302
+ /** @example Bad Request */
2303
+ error?: string;
2304
+ };
2305
+ };
2306
+ };
2307
+ /** @description Unauthorized */
2308
+ 401: {
2309
+ headers: {
2310
+ [name: string]: unknown;
2311
+ };
2312
+ content?: never;
2313
+ };
2314
+ /** @description Request not found */
2315
+ 404: {
2316
+ headers: {
2317
+ [name: string]: unknown;
2318
+ };
2319
+ content: {
2320
+ "application/json": {
2321
+ /** @example 404 */
2322
+ statusCode?: number;
2323
+ /** @example Request with payment reference pay-ref-123 not found */
2324
+ message?: string;
2325
+ /** @example Not Found */
2326
+ error?: string;
2327
+ };
2328
+ };
2329
+ };
2330
+ /** @description Too Many Requests */
2331
+ 429: {
2332
+ headers: {
2333
+ [name: string]: unknown;
2334
+ };
2335
+ content?: never;
2336
+ };
2337
+ };
2338
+ };
2339
+ PayerV2Controller_getComplianceStatus_v2: {
2340
+ parameters: {
2341
+ query?: never;
2342
+ header: {
2343
+ /** @description API key for authentication */
2344
+ "x-api-key": string;
2345
+ };
2346
+ path: {
2347
+ /** @description The client user ID to check compliance status for */
2348
+ clientUserId: string;
2349
+ };
2350
+ cookie?: never;
2351
+ };
2352
+ requestBody?: never;
2353
+ responses: {
2354
+ /** @description Compliance status retrieved successfully */
2355
+ 200: {
2356
+ headers: {
2357
+ [name: string]: unknown;
2358
+ };
2359
+ content: {
2360
+ "application/json": {
2361
+ /** @example completed */
2362
+ kycStatus?: string;
2363
+ /** @example completed */
2364
+ agreementStatus?: string;
2365
+ /** @example true */
2366
+ isCompliant?: boolean;
2367
+ /** @example a25a4274-8f50-4579-b476-8f35b297d4ad */
2368
+ userId?: string;
2369
+ };
2370
+ };
2371
+ };
2372
+ /** @description Unauthorized */
2373
+ 401: {
2374
+ headers: {
2375
+ [name: string]: unknown;
2376
+ };
2377
+ content?: never;
2378
+ };
2379
+ /** @description User not found */
2380
+ 404: {
2381
+ headers: {
2382
+ [name: string]: unknown;
2383
+ };
2384
+ content: {
2385
+ "application/json": {
2386
+ /** @example 404 */
2387
+ statusCode?: number;
2388
+ /** @example Payer with client user ID user-123 not found */
2389
+ message?: string;
2390
+ /** @example Not Found */
2391
+ error?: string;
2392
+ };
2393
+ };
2394
+ };
2395
+ /** @description Too Many Requests */
2396
+ 429: {
2397
+ headers: {
2398
+ [name: string]: unknown;
2399
+ };
2400
+ content?: never;
2401
+ };
2402
+ };
2403
+ };
2404
+ PayerV2Controller_updateComplianceStatus_v2: {
2405
+ parameters: {
2406
+ query?: never;
2407
+ header: {
2408
+ /** @description API key for authentication */
2409
+ "x-api-key": string;
2410
+ };
2411
+ path: {
2412
+ /** @description The client user ID to update */
2413
+ clientUserId: string;
2414
+ };
2415
+ cookie?: never;
2416
+ };
2417
+ requestBody: {
2418
+ content: {
2419
+ "application/json": {
2420
+ agreementCompleted: boolean;
2421
+ };
2422
+ };
2423
+ };
2424
+ responses: {
2425
+ /** @description Compliance status updated successfully */
2426
+ 200: {
2427
+ headers: {
2428
+ [name: string]: unknown;
2429
+ };
2430
+ content: {
2431
+ "application/json": {
2432
+ /** @example true */
2433
+ success?: boolean;
2434
+ };
2435
+ };
2436
+ };
2437
+ /** @description Invalid request data */
2438
+ 400: {
2439
+ headers: {
2440
+ [name: string]: unknown;
2441
+ };
2442
+ content: {
2443
+ "application/json": {
2444
+ /** @example 400 */
2445
+ statusCode?: number;
2446
+ /** @example agreementCompleted must be provided */
2447
+ message?: string;
2448
+ /** @example Bad Request */
2449
+ error?: string;
2450
+ };
2451
+ };
2452
+ };
2453
+ /** @description Unauthorized */
2454
+ 401: {
2455
+ headers: {
2456
+ [name: string]: unknown;
2457
+ };
2458
+ content?: never;
2459
+ };
2460
+ /** @description User not found */
2461
+ 404: {
2462
+ headers: {
2463
+ [name: string]: unknown;
2464
+ };
2465
+ content: {
2466
+ "application/json": {
2467
+ /** @example 404 */
2468
+ statusCode?: number;
2469
+ /** @example Payer with client user ID user-123 not found */
2470
+ message?: string;
2471
+ /** @example Not Found */
2472
+ error?: string;
2473
+ };
2474
+ };
2475
+ };
2476
+ /** @description Too Many Requests */
2477
+ 429: {
2478
+ headers: {
2479
+ [name: string]: unknown;
2480
+ };
2481
+ content?: never;
2482
+ };
2483
+ };
2484
+ };
2485
+ PayerV2Controller_getPaymentDetails_v2: {
2486
+ parameters: {
2487
+ query?: {
2488
+ /** @description Optional ID of specific payment details to retrieve */
2489
+ paymentDetailsId?: string;
2490
+ };
2491
+ header: {
2492
+ /** @description API key for authentication */
2493
+ "x-api-key": string;
2494
+ };
2495
+ path: {
2496
+ /** @description The client user ID to get payment details for */
2497
+ clientUserId: string;
2498
+ };
2499
+ cookie?: never;
2500
+ };
2501
+ requestBody?: never;
2502
+ responses: {
2503
+ /** @description Payment details retrieved successfully */
2504
+ 200: {
2505
+ headers: {
2506
+ [name: string]: unknown;
2507
+ };
2508
+ content: {
2509
+ "application/json": {
2510
+ paymentDetails?: {
2511
+ /** @example fa898aec-519c-46be-9b4c-e76ef4ff99d9 */
2512
+ id?: string;
2513
+ /** @example a25a4274-8f50-4579-b476-8f35b297d4ad */
2514
+ userId?: string;
2515
+ /** @example Chase */
2516
+ bankName?: string;
2517
+ /** @example Gordon's Chase Business Account */
2518
+ accountName?: string;
2519
+ /** @example business */
2520
+ beneficiaryType?: string;
2521
+ /** @example 253009233489 */
2522
+ accountNumber?: string;
2523
+ /** @example 026013356 */
2524
+ routingNumber?: string;
2525
+ /** @example usd */
2526
+ currency?: string;
2527
+ /** @example approved */
2528
+ status?: string;
2529
+ /** @example local */
2530
+ rails?: string;
2531
+ }[];
2532
+ };
2533
+ };
2534
+ };
2535
+ /** @description Unauthorized */
2536
+ 401: {
2537
+ headers: {
2538
+ [name: string]: unknown;
2539
+ };
2540
+ content?: never;
2541
+ };
2542
+ /** @description User or payment details not found */
2543
+ 404: {
2544
+ headers: {
2545
+ [name: string]: unknown;
2546
+ };
2547
+ content: {
2548
+ "application/json": {
2549
+ /** @example 404 */
2550
+ statusCode?: number;
2551
+ /** @example Payer with client user ID user-123 not found */
2552
+ message?: string;
2553
+ /** @example Not Found */
2554
+ error?: string;
2555
+ };
2556
+ };
2557
+ };
2558
+ /** @description Too Many Requests */
2559
+ 429: {
2560
+ headers: {
2561
+ [name: string]: unknown;
2562
+ };
2563
+ content?: never;
2564
+ };
2565
+ };
2566
+ };
2567
+ PayerV2Controller_createPaymentDetails_v2: {
2568
+ parameters: {
2569
+ query?: never;
2570
+ header: {
2571
+ /** @description API key for authentication */
2572
+ "x-api-key": string;
2573
+ };
2574
+ path: {
2575
+ /** @description The client user ID */
2576
+ clientUserId: string;
2577
+ };
2578
+ cookie?: never;
2579
+ };
2580
+ requestBody: {
2581
+ content: {
2582
+ "application/json": {
2583
+ /** @description Name of the bank */
2584
+ bankName: string;
2585
+ /** @description Name of the account holder */
2586
+ accountName: string;
2587
+ /** @description Bank account number */
2588
+ accountNumber?: string;
2589
+ /** @description Bank routing number (US) */
2590
+ routingNumber?: string;
2591
+ /**
2592
+ * @description Type of beneficiary
2593
+ * @enum {string}
2594
+ */
2595
+ beneficiaryType: "individual" | "business";
2596
+ /** @description Three-letter currency code (ISO 4217) */
2597
+ currency: string;
2598
+ /** @description Primary address line */
2599
+ addressLine1: string;
2600
+ /** @description Secondary address line */
2601
+ addressLine2?: string;
2602
+ /** @description City name */
2603
+ city: string;
2604
+ /** @description State or province code */
2605
+ state?: string;
2606
+ /** @description Two-letter country code (ISO 3166-1 alpha-2) */
2607
+ country: string;
2608
+ /** @description Date of birth in YYYY-MM-DD format */
2609
+ dateOfBirth: string;
2610
+ /** @description Postal or ZIP code */
2611
+ postalCode: string;
2612
+ /**
2613
+ * @description Payment rail type
2614
+ * @default local
2615
+ * @enum {string}
2616
+ */
2617
+ rails?: "local" | "swift" | "wire";
2618
+ /** @description UK bank sort code */
2619
+ sortCode?: string;
2620
+ /** @description International Bank Account Number */
2621
+ iban?: string;
2622
+ /** @description SWIFT/BIC code */
2623
+ swiftBic?: string;
2624
+ /** @description Government-issued ID number */
2625
+ documentNumber?: string;
2626
+ /** @description Type of government-issued ID (e.g., passport, driver's license) */
2627
+ documentType?: string;
2628
+ /**
2629
+ * @description Type of bank account
2630
+ * @enum {string}
2631
+ */
2632
+ accountType?: "checking" | "savings";
2633
+ /** @description French RIB number */
2634
+ ribNumber?: string;
2635
+ /** @description Australian BSB number */
2636
+ bsbNumber?: string;
2637
+ /** @description New Zealand NCC number */
2638
+ ncc?: string;
2639
+ /** @description Bank branch code */
2640
+ branchCode?: string;
2641
+ /** @description Bank code */
2642
+ bankCode?: string;
2643
+ /** @description Indian Financial System Code */
2644
+ ifsc?: string;
2645
+ };
2646
+ };
2647
+ };
2648
+ responses: {
2649
+ /** @description Payment details created successfully */
2650
+ 201: {
2651
+ headers: {
2652
+ [name: string]: unknown;
2653
+ };
2654
+ content: {
2655
+ "application/json": {
2656
+ payment_detail?: {
2657
+ /** @example pd_123456 */
2658
+ id?: string;
2659
+ /** @example user-123 */
2660
+ clientUserId?: string;
2661
+ /** @example Chase */
2662
+ bankName?: string;
2663
+ /** @example Gordon's Chase Business Account */
2664
+ accountName?: string;
2665
+ /** @example usd */
2666
+ currency?: string;
2667
+ /**
2668
+ * @example business
2669
+ * @enum {string}
2670
+ */
2671
+ beneficiaryType?: "individual" | "business";
2672
+ };
2673
+ };
2674
+ };
2675
+ };
2676
+ /** @description Invalid request data */
2677
+ 400: {
2678
+ headers: {
2679
+ [name: string]: unknown;
2680
+ };
2681
+ content: {
2682
+ "application/json": {
2683
+ /** @example 400 */
2684
+ statusCode?: number;
2685
+ /** @example Invalid bank account details */
2686
+ message?: string;
2687
+ /** @example Bad Request */
2688
+ error?: string;
2689
+ };
2690
+ };
2691
+ };
2692
+ /** @description Unauthorized */
2693
+ 401: {
2694
+ headers: {
2695
+ [name: string]: unknown;
2696
+ };
2697
+ content?: never;
2698
+ };
2699
+ /** @description User not found */
2700
+ 404: {
2701
+ headers: {
2702
+ [name: string]: unknown;
2703
+ };
2704
+ content: {
2705
+ "application/json": {
2706
+ /** @example 404 */
2707
+ statusCode?: number;
2708
+ /** @example User with ID user-123 not found */
2709
+ message?: string;
2710
+ /** @example Not Found */
2711
+ error?: string;
2712
+ };
2713
+ };
2714
+ };
2715
+ /** @description Too Many Requests */
2716
+ 429: {
2717
+ headers: {
2718
+ [name: string]: unknown;
2719
+ };
2720
+ content?: never;
2721
+ };
2722
+ };
2723
+ };
2724
+ PayV1Controller_payRequest_v1: {
2725
+ parameters: {
2726
+ query?: never;
2727
+ header: {
2728
+ /** @description API key for authentication */
2729
+ "x-api-key": string;
2730
+ };
2731
+ path?: never;
2732
+ cookie?: never;
2733
+ };
2734
+ requestBody: {
2735
+ content: {
2736
+ "application/json": {
2737
+ /** @description The wallet address of the payee */
2738
+ payee: string;
2739
+ /** @description The payable amount of the invoice, in human readable format */
2740
+ amount: string;
2741
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
2742
+ invoiceCurrency: string;
2743
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
2744
+ paymentCurrency: string;
2745
+ };
2746
+ };
2747
+ };
2748
+ responses: {
2749
+ /** @description Request created and payment initiated successfully */
2750
+ 201: {
2751
+ headers: {
2752
+ [name: string]: unknown;
2753
+ };
2754
+ content: {
2755
+ "application/json": {
2756
+ requestId: string;
2757
+ };
2758
+ };
2759
+ };
2760
+ /** @description Unauthorized */
2761
+ 401: {
2762
+ headers: {
2763
+ [name: string]: unknown;
2764
+ };
2765
+ content?: never;
2766
+ };
2767
+ /** @description Wallet not found */
2768
+ 404: {
2769
+ headers: {
2770
+ [name: string]: unknown;
2771
+ };
2772
+ content?: never;
2773
+ };
2774
+ /** @description Too Many Requests */
2775
+ 429: {
2776
+ headers: {
2777
+ [name: string]: unknown;
2778
+ };
2779
+ content?: never;
2780
+ };
2781
+ };
2782
+ };
2783
+ PaymentV2Controller_searchPayments_v2: {
2784
+ parameters: {
2785
+ query?: {
2786
+ /** @description Search by blockchain transaction hash (source or destination). Returns ALL payments from the same transaction, including batch payments. Must be a valid 66-character hex string starting with '0x'. Example: '0x1234567890abcdef...' */
2787
+ txHash?: string;
2788
+ /** @description Search by Ethereum wallet address (payer or payee). Returns ALL payments involving this address, including batch payments where the address is either sender or recipient. Example: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7' */
2789
+ walletAddress?: string;
2790
+ /** @description Search by unique payment reference generated by the Request Network. This is the hex identifier used for on-chain payments. Example: '0xb3581f0b0f74cc61' */
2791
+ paymentReference?: string;
2792
+ /** @description Search by Request Network request ID. This is the unique identifier for the payment request. Example: '01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb' */
2793
+ requestId?: string;
2794
+ /** @description Search by your custom merchant reference used for receipt tracking and order identification. This is the reference you provided when creating the payment. Example: 'ORDER-2024-001234' or 'INV-5678' */
2795
+ reference?: string;
2796
+ /** @description Filter by payment type: 'direct' (same currency), 'conversion' (currency conversion), 'crosschain' (cross-chain payment), 'recurring' (subscription payment) */
2797
+ type?: "direct" | "conversion" | "crosschain" | "recurring";
2798
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
2799
+ invoiceCurrency?: string;
2800
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
2801
+ paymentCurrency?: string;
2802
+ /** @description Filter payments from this date (inclusive). Must be in ISO 8601 format in UTC (ending with 'Z'). Example: '2024-01-01T00:00:00.000Z' */
2803
+ fromDate?: string;
2804
+ /** @description Filter payments until this date (inclusive). Must be in ISO 8601 format in UTC (ending with 'Z'). Must be after fromDate if both are provided. Example: '2024-01-31T23:59:59.999Z' */
2805
+ toDate?: string;
2806
+ limit?: string;
2807
+ offset?: string;
2808
+ };
2809
+ header?: {
2810
+ /** @description API key for authentication (optional if using Client ID) */
2811
+ "x-api-key"?: string;
2812
+ /** @description Client ID for frontend authentication (optional if using API key) */
2813
+ "x-client-id"?: string;
2814
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
2815
+ Origin?: string;
2816
+ };
2817
+ path?: never;
2818
+ cookie?: never;
2819
+ };
2820
+ requestBody?: never;
2821
+ responses: {
2822
+ /** @description Payment search results with comprehensive payment data and pagination metadata */
2823
+ 200: {
2824
+ headers: {
2825
+ [name: string]: unknown;
2826
+ };
2827
+ content: {
2828
+ "application/json": {
2829
+ /** @description Array of matching payments with complete payment details */
2830
+ payments: {
2831
+ /** @description Unique identifier of the payment */
2832
+ id: string;
2833
+ /** @description Payment amount as a human-readable decimal string (formatUnits) */
2834
+ amount: string;
2835
+ /** @description Network where the payment originated */
2836
+ sourceNetwork: string;
2837
+ /** @description Network where the payment was received */
2838
+ destinationNetwork: string;
2839
+ /** @description Transaction hash on the source network */
2840
+ sourceTxHash?: string | null;
2841
+ /** @description Transaction hash on the destination network */
2842
+ destinationTxHash?: string | null;
2843
+ /**
2844
+ * Format: date-time
2845
+ * @description Timestamp when the payment was processed
2846
+ */
2847
+ timestamp: string;
2848
+ /**
2849
+ * @description Type of payment
2850
+ * @enum {string}
2851
+ */
2852
+ type: "direct" | "conversion" | "crosschain" | "recurring";
2853
+ /** @description Conversion rate used for source currency */
2854
+ conversionRateSource?: string | null;
2855
+ /** @description Conversion rate used for destination currency */
2856
+ conversionRateDestination?: string | null;
2857
+ /** @description Converted amount in source currency */
2858
+ convertedAmountSource?: string | null;
2859
+ /** @description Converted amount in destination currency */
2860
+ convertedAmountDestination?: string | null;
2861
+ /** @description Invoice currency symbol */
2862
+ currency: string;
2863
+ /** @description Payment currency symbol */
2864
+ paymentCurrency: string;
2865
+ /** @description Array of fees associated with the payment */
2866
+ fees?: {
2867
+ /**
2868
+ * @description Type of fee
2869
+ * @enum {string}
2870
+ */
2871
+ type?: "gas" | "platform" | "crosschain" | "crypto-to-fiat" | "offramp";
2872
+ /**
2873
+ * @description Stage when the fee is applied
2874
+ * @enum {string}
2875
+ */
2876
+ stage?: "sending" | "receiving" | "proxying" | "refunding";
2877
+ /** @description Provider that charged the fee */
2878
+ provider?: string;
2879
+ /** @description Fee amount in human-readable format (formatted with token decimals) */
2880
+ amount?: string;
2881
+ /** @description Fee amount in USD */
2882
+ amountInUSD?: string;
2883
+ /** @description Fee currency */
2884
+ currency?: string;
2885
+ /** @description Address that received the fee */
2886
+ receiverAddress?: string;
2887
+ /** @description Network where the fee was paid */
2888
+ network?: string;
2889
+ /** @description Provider used for rate conversion */
2890
+ rateProvider?: string;
2891
+ }[] | null;
2892
+ /** @description ID of the recurring payment this payment belongs to */
2893
+ recurringPaymentId?: string | null;
2894
+ /**
2895
+ * @description Provider used for exchange rate data
2896
+ * @enum {string|null}
2897
+ */
2898
+ rateProvider?: "lifi" | "chainlink" | "coingecko" | "unknown" | null;
2899
+ /** @description Associated request information */
2900
+ request?: {
2901
+ /** @description Request ID */
2902
+ requestId?: string;
2903
+ /** @description Payment reference */
2904
+ paymentReference?: string;
2905
+ /** @description Whether the request has been fully paid */
2906
+ hasBeenPaid?: boolean;
2907
+ /** @description Customer information */
2908
+ customerInfo?: {
2909
+ firstName?: string;
2910
+ lastName?: string;
2911
+ email?: string;
2912
+ address?: {
2913
+ street?: string;
2914
+ city?: string;
2915
+ state?: string;
2916
+ postalCode?: string;
2917
+ country?: string;
2918
+ };
2919
+ } | null;
2920
+ /** @description Merchant reference */
2921
+ reference?: string | null;
2922
+ };
2923
+ }[];
2924
+ /** @description Pagination information for navigating through results */
2925
+ pagination: {
2926
+ /**
2927
+ * @description Total number of payments matching the search criteria
2928
+ * @example 157
2929
+ */
2930
+ total: number;
2931
+ /**
2932
+ * @description Maximum number of results returned in this response
2933
+ * @example 20
2934
+ */
2935
+ limit: number;
2936
+ /**
2937
+ * @description Number of results skipped (for pagination)
2938
+ * @example 0
2939
+ */
2940
+ offset: number;
2941
+ /**
2942
+ * @description Whether there are more results available beyond this page
2943
+ * @example true
2944
+ */
2945
+ hasMore: boolean;
2946
+ };
2947
+ };
2948
+ };
2949
+ };
2950
+ /** @description Invalid search parameters or validation errors */
2951
+ 400: {
2952
+ headers: {
2953
+ [name: string]: unknown;
2954
+ };
2955
+ content: {
2956
+ "application/json": {
2957
+ /** @example 400 */
2958
+ statusCode?: number;
2959
+ /** @example Validation failed */
2960
+ message?: string;
2961
+ errors?: {
2962
+ /** @example toDate */
2963
+ field?: string;
2964
+ /** @example toDate must be after or equal to fromDate */
2965
+ message?: string;
2966
+ }[];
2967
+ };
2968
+ };
2969
+ };
2970
+ /** @description Authentication required - API key or client ID missing */
2971
+ 401: {
2972
+ headers: {
2973
+ [name: string]: unknown;
2974
+ };
2975
+ content: {
2976
+ "application/json": {
2977
+ /** @example 401 */
2978
+ statusCode?: number;
2979
+ /** @example Unauthorized */
2980
+ message?: string;
2981
+ /** @example Unauthorized */
2982
+ error?: string;
2983
+ };
2984
+ };
2985
+ };
2986
+ /** @description Too Many Requests */
2987
+ 429: {
2988
+ headers: {
2989
+ [name: string]: unknown;
2990
+ };
2991
+ content?: never;
2992
+ };
2993
+ };
2994
+ };
2995
+ PayoutV2Controller_payRequest_v2: {
2996
+ parameters: {
2997
+ query?: never;
2998
+ header?: {
2999
+ /** @description API key for authentication (optional if using Client ID) */
3000
+ "x-api-key"?: string;
3001
+ /** @description Client ID for frontend authentication (optional if using API key) */
3002
+ "x-client-id"?: string;
3003
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
3004
+ Origin?: string;
3005
+ };
3006
+ path?: never;
3007
+ cookie?: never;
3008
+ };
3009
+ requestBody: {
3010
+ content: {
3011
+ "application/json": {
3012
+ /** @description The wallet address of the payee */
3013
+ payee: string;
3014
+ /** @description The payable amount of the invoice, in human readable format */
3015
+ amount: string;
3016
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
3017
+ invoiceCurrency: string;
3018
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
3019
+ paymentCurrency: string;
3020
+ /** @description Fee percentage to apply at payment time (e.g., '2.5' for 2.5%) */
3021
+ feePercentage?: string;
3022
+ /** @description Address to receive the fee */
3023
+ feeAddress?: string;
3024
+ /** @description Configuration details for recurring payments */
3025
+ recurrence?: {
3026
+ /** @description The start date of the payment, cannot be in the past */
3027
+ startDate: string;
3028
+ /**
3029
+ * @description The frequency of the payment
3030
+ * @enum {string}
3031
+ */
3032
+ frequency: "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
3033
+ /** @description The total number of times the payment will be executed (max 256). */
3034
+ totalPayments: number;
3035
+ /** @description The wallet address of the payer. Cannot be the same as the payee address. */
3036
+ payer: string;
3037
+ };
3038
+ /** @description The wallet address of the payer, use to check if payer approval exists */
3039
+ payerWallet?: string;
3040
+ /** @description Optional customer information for merchant receipt tracking */
3041
+ customerInfo?: {
3042
+ /** @description Customer's first name */
3043
+ firstName?: string;
3044
+ /** @description Customer's last name */
3045
+ lastName?: string;
3046
+ /**
3047
+ * Format: email
3048
+ * @description Customer's email address
3049
+ */
3050
+ email?: string;
3051
+ /** @description Customer's address */
3052
+ address?: {
3053
+ /** @description Street address */
3054
+ street?: string;
3055
+ /** @description City */
3056
+ city?: string;
3057
+ /** @description State or province */
3058
+ state?: string;
3059
+ /** @description Postal or ZIP code */
3060
+ postalCode?: string;
3061
+ /** @description Country code (ISO 3166-1 alpha-2) */
3062
+ country?: string;
3063
+ };
3064
+ };
3065
+ /** @description Merchant reference for receipt tracking and identification */
3066
+ reference?: string;
3067
+ };
3068
+ };
3069
+ };
3070
+ responses: {
3071
+ /** @description Request created and payment initiated successfully */
3072
+ 201: {
3073
+ headers: {
3074
+ [name: string]: unknown;
3075
+ };
3076
+ content: {
3077
+ "application/json": {
3078
+ requestId: string;
3079
+ };
3080
+ };
3081
+ };
3082
+ /** @description Wallet not found */
3083
+ 404: {
3084
+ headers: {
3085
+ [name: string]: unknown;
3086
+ };
3087
+ content?: never;
3088
+ };
3089
+ /** @description Too Many Requests */
3090
+ 429: {
3091
+ headers: {
3092
+ [name: string]: unknown;
3093
+ };
3094
+ content?: never;
3095
+ };
3096
+ };
3097
+ };
3098
+ PayoutV2Controller_payBatchRequest_v2: {
3099
+ parameters: {
3100
+ query?: never;
3101
+ header?: {
3102
+ /** @description API key for authentication (optional if using Client ID) */
3103
+ "x-api-key"?: string;
3104
+ /** @description Client ID for frontend authentication (optional if using API key) */
3105
+ "x-client-id"?: string;
3106
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
3107
+ Origin?: string;
3108
+ };
3109
+ path?: never;
3110
+ cookie?: never;
3111
+ };
3112
+ requestBody: {
3113
+ content: {
3114
+ "application/json": {
3115
+ /** @description A list of payment requests to be created andprocessed in batch. All requests must be on the same network and contain payment/invoice currency information. Either `requests` or `requestIds` must be provided, but not both. */
3116
+ requests?: {
3117
+ /** @description The wallet address of the payee */
3118
+ payee: string;
3119
+ /** @description The payable amount of the invoice, in human readable format */
3120
+ amount: string;
3121
+ /** @description Invoice Currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: USD */
3122
+ invoiceCurrency: string;
3123
+ /** @description Payment currency ID, from the [Request Network Token List](https://docs.request.network/general/request-network-token-list) e.g: ETH-sepolia-sepolia */
3124
+ paymentCurrency: string;
3125
+ }[];
3126
+ /** @description The request IDs of the existing requests to be paid. Requests must be on the same network. Either `requests` or `requestIds` must be provided, but not both. */
3127
+ requestIds?: string[];
3128
+ /** @description The wallet address of the payer, user to check if approval is needed or not. */
3129
+ payer?: string;
3130
+ };
3131
+ };
3132
+ };
3133
+ responses: {
3134
+ /** @description Batch payment calldata retrieved successfully */
3135
+ 201: {
3136
+ headers: {
3137
+ [name: string]: unknown;
3138
+ };
3139
+ content: {
3140
+ "application/json": {
3141
+ /** @description Array of ERC20 approval transactions needed before the batch payment. Only present when token approval is required. */
3142
+ ERC20ApprovalTransactions?: {
3143
+ /** @description Transaction calldata for the ERC20 approval */
3144
+ data: string;
3145
+ /** @description Target ERC20 token contract address for approval */
3146
+ to: string;
3147
+ /** @description Always 0 for ERC20 approvals */
3148
+ value: number;
3149
+ }[];
3150
+ /** @description The batch payment transaction for ERC20 tokens. Only present when the batch contains ERC20 payments. */
3151
+ ERC20BatchPaymentTransaction?: {
3152
+ /** @description Transaction calldata for the ERC20 batch payment */
3153
+ data: string;
3154
+ /** @description Target batch payment contract address */
3155
+ to: string;
3156
+ value: {
3157
+ /** @enum {string} */
3158
+ type: "BigNumber";
3159
+ /** @description Payment amount in EVM-compatible format, encoded in hex. Usually 0 for ERC20 payments */
3160
+ hex: string;
3161
+ };
3162
+ };
3163
+ /** @description The batch payment transaction for native ETH. Only present when the batch contains ETH payments. */
3164
+ ETHBatchPaymentTransaction?: {
3165
+ /** @description Transaction calldata for the ETH batch payment */
3166
+ data: string;
3167
+ /** @description Target batch payment contract address */
3168
+ to: string;
3169
+ value: {
3170
+ /** @enum {string} */
3171
+ type: "BigNumber";
3172
+ /** @description Payment amount in EVM-compatible format, encoded in hex. Contains the ETH value to send */
3173
+ hex: string;
3174
+ };
3175
+ };
3176
+ };
3177
+ };
3178
+ };
3179
+ /** @description Requests must be on the same network */
3180
+ 400: {
3181
+ headers: {
3182
+ [name: string]: unknown;
3183
+ };
3184
+ content: {
3185
+ "application/json": unknown;
3186
+ };
3187
+ };
3188
+ /** @description Too Many Requests */
3189
+ 429: {
3190
+ headers: {
3191
+ [name: string]: unknown;
3192
+ };
3193
+ content?: never;
3194
+ };
3195
+ };
3196
+ };
3197
+ PayoutV2Controller_getRecurringPaymentStatus_v2: {
3198
+ parameters: {
3199
+ query?: never;
3200
+ header?: {
3201
+ /** @description API key for authentication (optional if using Client ID) */
3202
+ "x-api-key"?: string;
3203
+ /** @description Client ID for frontend authentication (optional if using API key) */
3204
+ "x-client-id"?: string;
3205
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
3206
+ Origin?: string;
3207
+ };
3208
+ path: {
3209
+ /** @description The ID of the recurring payment */
3210
+ id: string;
3211
+ };
3212
+ cookie?: never;
3213
+ };
3214
+ requestBody?: never;
3215
+ responses: {
3216
+ /** @description Recurring payment status retrieved successfully */
3217
+ 200: {
3218
+ headers: {
3219
+ [name: string]: unknown;
3220
+ };
3221
+ content: {
3222
+ "application/json": unknown;
3223
+ };
3224
+ };
3225
+ /** @description Recurring payment not found */
3226
+ 404: {
3227
+ headers: {
3228
+ [name: string]: unknown;
3229
+ };
3230
+ content: {
3231
+ "application/json": unknown;
3232
+ };
3233
+ };
3234
+ /** @description Too Many Requests */
3235
+ 429: {
3236
+ headers: {
3237
+ [name: string]: unknown;
3238
+ };
3239
+ content?: never;
3240
+ };
3241
+ };
3242
+ };
3243
+ PayoutV2Controller_submitRecurringPaymentSignature_v2: {
3244
+ parameters: {
3245
+ query?: never;
3246
+ header?: {
3247
+ /** @description API key for authentication (optional if using Client ID) */
3248
+ "x-api-key"?: string;
3249
+ /** @description Client ID for frontend authentication (optional if using API key) */
3250
+ "x-client-id"?: string;
3251
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
3252
+ Origin?: string;
3253
+ };
3254
+ path: {
3255
+ /** @description The ID of the recurring payment */
3256
+ id: string;
3257
+ };
3258
+ cookie?: never;
3259
+ };
3260
+ requestBody: {
3261
+ content: {
3262
+ "application/json": {
3263
+ /** @description The signature of the recurring payment permit. */
3264
+ permitSignature: string;
3265
+ };
3266
+ };
3267
+ };
3268
+ responses: {
3269
+ /** @description Recurring payment signature submitted successfully */
3270
+ 201: {
3271
+ headers: {
3272
+ [name: string]: unknown;
3273
+ };
3274
+ content: {
3275
+ "application/json": unknown;
3276
+ };
3277
+ };
3278
+ /** @description Bad request */
3279
+ 400: {
3280
+ headers: {
3281
+ [name: string]: unknown;
3282
+ };
3283
+ content: {
3284
+ "application/json": unknown;
3285
+ };
3286
+ };
3287
+ /** @description Recurring payment not found */
3288
+ 404: {
3289
+ headers: {
3290
+ [name: string]: unknown;
3291
+ };
3292
+ content?: never;
3293
+ };
3294
+ /** @description Too Many Requests */
3295
+ 429: {
3296
+ headers: {
3297
+ [name: string]: unknown;
3298
+ };
3299
+ content?: never;
3300
+ };
3301
+ };
3302
+ };
3303
+ PayoutV2Controller_updateRecurringPayment_v2: {
3304
+ parameters: {
3305
+ query?: never;
3306
+ header?: {
3307
+ /** @description API key for authentication (optional if using Client ID) */
3308
+ "x-api-key"?: string;
3309
+ /** @description Client ID for frontend authentication (optional if using API key) */
3310
+ "x-client-id"?: string;
3311
+ /** @description Origin header (required for Client ID auth, automatically set by browser) */
3312
+ Origin?: string;
3313
+ };
3314
+ path: {
3315
+ /** @description The ID of the recurring payment */
3316
+ id: string;
3317
+ };
3318
+ cookie?: never;
3319
+ };
3320
+ requestBody: {
3321
+ content: {
3322
+ "application/json": {
3323
+ /**
3324
+ * @description The action to perform on the recurring payment
3325
+ * @enum {string}
3326
+ */
3327
+ action: "cancel" | "unpause";
3328
+ };
3329
+ };
3330
+ };
3331
+ responses: {
3332
+ /** @description Recurring payment updated successfully */
3333
+ 200: {
3334
+ headers: {
3335
+ [name: string]: unknown;
3336
+ };
3337
+ content: {
3338
+ "application/json": unknown;
3339
+ };
3340
+ };
3341
+ /** @description Bad request */
3342
+ 400: {
3343
+ headers: {
3344
+ [name: string]: unknown;
3345
+ };
3346
+ content: {
3347
+ "application/json": unknown;
3348
+ };
3349
+ };
3350
+ /** @description Recurring payment not found */
3351
+ 404: {
3352
+ headers: {
3353
+ [name: string]: unknown;
3354
+ };
3355
+ content?: never;
3356
+ };
3357
+ /** @description Too Many Requests */
3358
+ 429: {
3359
+ headers: {
3360
+ [name: string]: unknown;
3361
+ };
3362
+ content?: never;
3363
+ };
3364
+ };
3365
+ };
3366
+ }
3367
+
3368
+ export { DEFAULT_RETRY_CONFIG as D, type HttpAdapter as H, type Interceptor as I, type LogLevel as L, type QuerySerializer as Q, type RetryConfig as R, type RuntimeValidationOption as a, type HttpClient as b, type RequestOptions as c, type RetryDecision as d, type RetryDecisionInput as e, type RetryResponseLike as f, type RetryJitter as g, computeRetryDelay as h, type HttpMethod as i, type RuntimeValidationConfig as j, type operations as o, shouldRetryRequest as s };