dutchman-bridge 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -0
- package/dist/client/client.gen.d.ts +2 -0
- package/dist/client/client.gen.js +220 -0
- package/dist/client/index.d.ts +10 -0
- package/dist/client/index.js +17 -0
- package/dist/client/types.gen.d.ts +120 -0
- package/dist/client/types.gen.js +3 -0
- package/dist/client/utils.gen.d.ts +37 -0
- package/dist/client/utils.gen.js +241 -0
- package/dist/client.gen.d.ts +12 -0
- package/dist/client.gen.js +6 -0
- package/dist/core/auth.gen.d.ts +25 -0
- package/dist/core/auth.gen.js +18 -0
- package/dist/core/bodySerializer.gen.d.ts +25 -0
- package/dist/core/bodySerializer.gen.js +60 -0
- package/dist/core/params.gen.d.ts +43 -0
- package/dist/core/params.gen.js +112 -0
- package/dist/core/pathSerializer.gen.d.ts +33 -0
- package/dist/core/pathSerializer.gen.js +115 -0
- package/dist/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/core/queryKeySerializer.gen.js +98 -0
- package/dist/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/core/serverSentEvents.gen.js +135 -0
- package/dist/core/types.gen.d.ts +83 -0
- package/dist/core/types.gen.js +3 -0
- package/dist/core/utils.gen.d.ts +19 -0
- package/dist/core/utils.gen.js +93 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +20 -0
- package/dist/sdk.gen.d.ts +339 -0
- package/dist/sdk.gen.js +794 -0
- package/dist/types.gen.d.ts +1935 -0
- package/dist/types.gen.js +3 -0
- package/package.json +32 -0
- package/src/client/client.gen.ts +277 -0
- package/src/client/index.ts +27 -0
- package/src/client/types.gen.ts +218 -0
- package/src/client/utils.gen.ts +316 -0
- package/src/client.gen.ts +16 -0
- package/src/core/auth.gen.ts +48 -0
- package/src/core/bodySerializer.gen.ts +82 -0
- package/src/core/params.gen.ts +178 -0
- package/src/core/pathSerializer.gen.ts +171 -0
- package/src/core/queryKeySerializer.gen.ts +117 -0
- package/src/core/serverSentEvents.gen.ts +242 -0
- package/src/core/types.gen.ts +110 -0
- package/src/core/utils.gen.ts +140 -0
- package/src/index.ts +5 -0
- package/src/sdk.gen.ts +887 -0
- package/src/types.gen.ts +2178 -0
|
@@ -0,0 +1,1935 @@
|
|
|
1
|
+
export type ClientOptions = {
|
|
2
|
+
baseUrl: 'https://app.dutchmannetwork.online' | (string & {});
|
|
3
|
+
};
|
|
4
|
+
export type SettlementMode = 'AUTO' | 'MANUAL';
|
|
5
|
+
export type PartnerCustomerDto = {
|
|
6
|
+
id: string;
|
|
7
|
+
firstName: string;
|
|
8
|
+
lastName: string;
|
|
9
|
+
middleName: string | null;
|
|
10
|
+
email: string;
|
|
11
|
+
/**
|
|
12
|
+
* E.164
|
|
13
|
+
*/
|
|
14
|
+
phoneNumber: string;
|
|
15
|
+
/**
|
|
16
|
+
* ISO alpha-2 country code
|
|
17
|
+
*/
|
|
18
|
+
country: string | null;
|
|
19
|
+
/**
|
|
20
|
+
* When identity verification was approved; null until then.
|
|
21
|
+
*/
|
|
22
|
+
verifiedAt: string | null;
|
|
23
|
+
settlementMode: SettlementMode;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
};
|
|
27
|
+
export type RegisterCustomerDto = {
|
|
28
|
+
firstName: string;
|
|
29
|
+
lastName: string;
|
|
30
|
+
email: string;
|
|
31
|
+
phoneNumber: string;
|
|
32
|
+
/**
|
|
33
|
+
* ISO alpha-2 country code
|
|
34
|
+
*/
|
|
35
|
+
country: string;
|
|
36
|
+
};
|
|
37
|
+
export type KycStatus = 'PENDING' | 'REVIEW' | 'APPROVED' | 'REJECTED';
|
|
38
|
+
export type PartnerKycRecordDto = {
|
|
39
|
+
id: string;
|
|
40
|
+
customerId: string;
|
|
41
|
+
/**
|
|
42
|
+
* 1, 2 or 3
|
|
43
|
+
*/
|
|
44
|
+
level: number;
|
|
45
|
+
status: KycStatus;
|
|
46
|
+
/**
|
|
47
|
+
* BVN for tier 1; the document type for tier 2.
|
|
48
|
+
*/
|
|
49
|
+
idType: string | null;
|
|
50
|
+
rejectionReason: string | null;
|
|
51
|
+
createdAt: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Exactly what the customer must re-provide.
|
|
55
|
+
*/
|
|
56
|
+
export type ReverificationItem = 'BVN' | 'NIN' | 'COUNTRY' | 'ID_DOCUMENT' | 'ADDRESS_PROOF';
|
|
57
|
+
export type ReverificationStatus = 'OPEN' | 'COMPLETED';
|
|
58
|
+
export type PartnerReverificationRequestDto = {
|
|
59
|
+
id: string;
|
|
60
|
+
customerId: string;
|
|
61
|
+
/**
|
|
62
|
+
* Exactly what the customer must re-provide.
|
|
63
|
+
*/
|
|
64
|
+
items: Array<ReverificationItem>;
|
|
65
|
+
message: string | null;
|
|
66
|
+
status: ReverificationStatus;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
updatedAt: string;
|
|
69
|
+
};
|
|
70
|
+
export type PartnerCustomerKycSnapshotDto = {
|
|
71
|
+
/**
|
|
72
|
+
* Newest first.
|
|
73
|
+
*/
|
|
74
|
+
records: Array<PartnerKycRecordDto>;
|
|
75
|
+
reverification: PartnerReverificationRequestDto | null;
|
|
76
|
+
};
|
|
77
|
+
export type PartnerBalanceDto = {
|
|
78
|
+
currency: string;
|
|
79
|
+
balance: number;
|
|
80
|
+
};
|
|
81
|
+
export type PartnerDepositAddressDto = {
|
|
82
|
+
network: string;
|
|
83
|
+
address: string;
|
|
84
|
+
};
|
|
85
|
+
export type PartnerVirtualAccountDto = {
|
|
86
|
+
accountNumber: string;
|
|
87
|
+
accountName: string;
|
|
88
|
+
bankName: string;
|
|
89
|
+
bankCode: string;
|
|
90
|
+
currency: string;
|
|
91
|
+
status: string;
|
|
92
|
+
};
|
|
93
|
+
export type PartnerCustomerWalletSnapshotDto = {
|
|
94
|
+
balances: Array<PartnerBalanceDto>;
|
|
95
|
+
addresses: Array<PartnerDepositAddressDto>;
|
|
96
|
+
/**
|
|
97
|
+
* Null when one cannot be issued yet; see virtualAccountError.
|
|
98
|
+
*/
|
|
99
|
+
virtualAccount: PartnerVirtualAccountDto | null;
|
|
100
|
+
/**
|
|
101
|
+
* Why virtualAccount is null (e.g. BVN not yet verified); null when it is present.
|
|
102
|
+
*/
|
|
103
|
+
virtualAccountError: string | null;
|
|
104
|
+
};
|
|
105
|
+
export type PartnerCustomerSnapshotDto = {
|
|
106
|
+
customer: PartnerCustomerDto;
|
|
107
|
+
kyc: PartnerCustomerKycSnapshotDto;
|
|
108
|
+
wallet: PartnerCustomerWalletSnapshotDto;
|
|
109
|
+
};
|
|
110
|
+
export type PartnerKycSubmissionDto = {
|
|
111
|
+
/**
|
|
112
|
+
* APPROVED when the checks cleared immediately; REVIEW while a reviewer decides.
|
|
113
|
+
*/
|
|
114
|
+
status: KycStatus;
|
|
115
|
+
record: PartnerKycRecordDto;
|
|
116
|
+
};
|
|
117
|
+
export type Tier1KycDto = {
|
|
118
|
+
/**
|
|
119
|
+
* 11-digit BVN
|
|
120
|
+
*/
|
|
121
|
+
bvn: string;
|
|
122
|
+
/**
|
|
123
|
+
* 11-digit NIN
|
|
124
|
+
*/
|
|
125
|
+
nin: string;
|
|
126
|
+
};
|
|
127
|
+
export type Tier2KycDto = {
|
|
128
|
+
/**
|
|
129
|
+
* FRONT of the government document (POST /uploads/kyc-document)
|
|
130
|
+
*/
|
|
131
|
+
documentUrl: string;
|
|
132
|
+
/**
|
|
133
|
+
* BACK of the document. Omitted for a passport, which is verified from its data page alone.
|
|
134
|
+
*/
|
|
135
|
+
documentBackUrl?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Which document was photographed. Recorded on the record so a reviewer knows what they are looking at, and forwarded to the payout providers when onboarding the sender.
|
|
138
|
+
*/
|
|
139
|
+
idType: 'PASSPORT' | 'DRIVERS_LICENSE' | 'NATIONAL_ID' | 'VOTERS_CARD';
|
|
140
|
+
/**
|
|
141
|
+
* The document's own number, as printed on it.
|
|
142
|
+
*/
|
|
143
|
+
idNumber?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Selfie URL returned by POST /uploads/kyc-document
|
|
146
|
+
*/
|
|
147
|
+
selfieUrl?: string;
|
|
148
|
+
};
|
|
149
|
+
export type PartnerVerificationRecordDto = {
|
|
150
|
+
/**
|
|
151
|
+
* not_started | under_review | approved | active | rejected
|
|
152
|
+
*/
|
|
153
|
+
status: string;
|
|
154
|
+
/**
|
|
155
|
+
* Whether the customer may transact.
|
|
156
|
+
*/
|
|
157
|
+
approved: boolean;
|
|
158
|
+
rejectionReason: string | null;
|
|
159
|
+
updatedAt: string;
|
|
160
|
+
};
|
|
161
|
+
export type SubmitTier3Dto = {
|
|
162
|
+
/**
|
|
163
|
+
* The corridor you are verifying to send to. Decides which provider (Bridge, Stables, ...) this submission enrols you with.
|
|
164
|
+
*/
|
|
165
|
+
destinationCountry: string;
|
|
166
|
+
/**
|
|
167
|
+
* yyyy-mm-dd. Must be 18 or older.
|
|
168
|
+
*/
|
|
169
|
+
dateOfBirth: string;
|
|
170
|
+
/**
|
|
171
|
+
* Must be a physical address — a PO Box is rejected.
|
|
172
|
+
*/
|
|
173
|
+
addressLine1: string;
|
|
174
|
+
addressLine2?: string;
|
|
175
|
+
city: string;
|
|
176
|
+
/**
|
|
177
|
+
* State or province. Required for US addresses.
|
|
178
|
+
*/
|
|
179
|
+
subdivision?: string;
|
|
180
|
+
postalCode?: string;
|
|
181
|
+
};
|
|
182
|
+
export type PartnerSelfieCheckDto = {
|
|
183
|
+
/**
|
|
184
|
+
* False when the check could not run at all.
|
|
185
|
+
*/
|
|
186
|
+
ran: boolean;
|
|
187
|
+
live: boolean | null;
|
|
188
|
+
/**
|
|
189
|
+
* Liveness probability, 0-1.
|
|
190
|
+
*/
|
|
191
|
+
probability: number | null;
|
|
192
|
+
faceDetected: boolean | null;
|
|
193
|
+
multipleFaces: boolean | null;
|
|
194
|
+
note: string | null;
|
|
195
|
+
/**
|
|
196
|
+
* What to change before retaking. Empty means nothing.
|
|
197
|
+
*/
|
|
198
|
+
guidance: Array<string>;
|
|
199
|
+
};
|
|
200
|
+
export type CheckSelfieDto = {
|
|
201
|
+
selfieUrl: string;
|
|
202
|
+
};
|
|
203
|
+
export type PartnerUploadedDocumentDto = {
|
|
204
|
+
/**
|
|
205
|
+
* Pass this as documentUrl / selfieUrl to the tier 2 submission.
|
|
206
|
+
*/
|
|
207
|
+
url: string;
|
|
208
|
+
filename: string;
|
|
209
|
+
/**
|
|
210
|
+
* Bytes
|
|
211
|
+
*/
|
|
212
|
+
size: number;
|
|
213
|
+
mimetype: string;
|
|
214
|
+
};
|
|
215
|
+
export type LedgerEntryType = 'CREDIT' | 'DEBIT' | 'REVERSAL';
|
|
216
|
+
export type PartnerLedgerEntryDto = {
|
|
217
|
+
id: string;
|
|
218
|
+
type: LedgerEntryType;
|
|
219
|
+
/**
|
|
220
|
+
* deposit | fiat.deposit | withdrawal | withdrawal.reversal | buy | sell | crypto_send | crypto_send.reversal | offramp.settlement | reversal
|
|
221
|
+
*/
|
|
222
|
+
reason: string;
|
|
223
|
+
currency: string;
|
|
224
|
+
amount: number;
|
|
225
|
+
/**
|
|
226
|
+
* COMPLETED for settled movements; a withdrawal or crypto send reports its live status instead.
|
|
227
|
+
*/
|
|
228
|
+
status: string;
|
|
229
|
+
reference: string;
|
|
230
|
+
/**
|
|
231
|
+
* On-chain hash for crypto deposits/sends; null for fiat.
|
|
232
|
+
*/
|
|
233
|
+
txHash: string | null;
|
|
234
|
+
/**
|
|
235
|
+
* Chain the hash belongs to.
|
|
236
|
+
*/
|
|
237
|
+
network: string | null;
|
|
238
|
+
createdAt: string;
|
|
239
|
+
};
|
|
240
|
+
export type WithdrawalStatus = 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'PENDING_LIQUIDITY';
|
|
241
|
+
export type PartnerWithdrawalBankAccountDto = {
|
|
242
|
+
bankName: string | null;
|
|
243
|
+
accountName: string | null;
|
|
244
|
+
accountNumberLast4: string | null;
|
|
245
|
+
};
|
|
246
|
+
export type PartnerWithdrawalDto = {
|
|
247
|
+
id: string;
|
|
248
|
+
reference: string;
|
|
249
|
+
/**
|
|
250
|
+
* Decimal string, e.g. "5000.00000000".
|
|
251
|
+
*/
|
|
252
|
+
amount: string;
|
|
253
|
+
currency: string;
|
|
254
|
+
status: WithdrawalStatus;
|
|
255
|
+
failureReason: string | null;
|
|
256
|
+
bankAccount: PartnerWithdrawalBankAccountDto | null;
|
|
257
|
+
createdAt: string;
|
|
258
|
+
updatedAt: string;
|
|
259
|
+
};
|
|
260
|
+
export type WithdrawDto = {
|
|
261
|
+
/**
|
|
262
|
+
* Amount to withdraw
|
|
263
|
+
*/
|
|
264
|
+
amount: number;
|
|
265
|
+
};
|
|
266
|
+
export type FundingChargeStatus = 'PENDING' | 'SUCCESS' | 'FAILED';
|
|
267
|
+
export type PartnerFundingChargeDto = {
|
|
268
|
+
id: string;
|
|
269
|
+
reference: string;
|
|
270
|
+
/**
|
|
271
|
+
* bank_transfer (pay into the account below) or eft (redirect).
|
|
272
|
+
*/
|
|
273
|
+
type: string;
|
|
274
|
+
currency: string;
|
|
275
|
+
amount: number;
|
|
276
|
+
status: FundingChargeStatus;
|
|
277
|
+
accountNumber: string | null;
|
|
278
|
+
accountName: string | null;
|
|
279
|
+
bankName: string | null;
|
|
280
|
+
bankCode: string | null;
|
|
281
|
+
/**
|
|
282
|
+
* Use as the transfer narration when present.
|
|
283
|
+
*/
|
|
284
|
+
narration: string | null;
|
|
285
|
+
expiresAt: string | null;
|
|
286
|
+
/**
|
|
287
|
+
* eft only: where to send the customer to authorise.
|
|
288
|
+
*/
|
|
289
|
+
redirectUrl: string | null;
|
|
290
|
+
createdAt: string;
|
|
291
|
+
};
|
|
292
|
+
export type InitiateFundingChargeDto = {
|
|
293
|
+
/**
|
|
294
|
+
* Amount to fund, in the user’s local fiat (derived from their country).
|
|
295
|
+
*/
|
|
296
|
+
amount: number;
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* The id to send in requests.
|
|
300
|
+
*/
|
|
301
|
+
export type BlockchainNetwork = 'ethereum' | 'polygon' | 'arbitrum' | 'base' | 'arc' | 'bsc' | 'optimism' | 'tron';
|
|
302
|
+
export type PartnerSendNetworkDto = {
|
|
303
|
+
/**
|
|
304
|
+
* The id to send in requests.
|
|
305
|
+
*/
|
|
306
|
+
network: BlockchainNetwork;
|
|
307
|
+
displayName: string;
|
|
308
|
+
/**
|
|
309
|
+
* Whether addresses are EVM (0x...) style.
|
|
310
|
+
*/
|
|
311
|
+
evm: boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Flat fee per send, in USDT.
|
|
314
|
+
*/
|
|
315
|
+
flatFeeUsdt: number;
|
|
316
|
+
/**
|
|
317
|
+
* Smallest send accepted, in USDT.
|
|
318
|
+
*/
|
|
319
|
+
minSendUsdt: number;
|
|
320
|
+
/**
|
|
321
|
+
* The cheapest enabled network.
|
|
322
|
+
*/
|
|
323
|
+
recommended: boolean;
|
|
324
|
+
assets: Array<'USDT' | 'USDC'>;
|
|
325
|
+
};
|
|
326
|
+
export type PartnerSendQuoteDto = {
|
|
327
|
+
asset: 'USDT' | 'USDC';
|
|
328
|
+
network: BlockchainNetwork;
|
|
329
|
+
/**
|
|
330
|
+
* Gross amount debited.
|
|
331
|
+
*/
|
|
332
|
+
amount: number;
|
|
333
|
+
fee: number;
|
|
334
|
+
/**
|
|
335
|
+
* What lands on-chain: amount - fee.
|
|
336
|
+
*/
|
|
337
|
+
netAmount: number;
|
|
338
|
+
minSendUsdt: number;
|
|
339
|
+
/**
|
|
340
|
+
* The customer's current balance in the asset.
|
|
341
|
+
*/
|
|
342
|
+
balance: number;
|
|
343
|
+
meetsMin: boolean;
|
|
344
|
+
sufficientBalance: boolean;
|
|
345
|
+
/**
|
|
346
|
+
* True only when the send would be accepted.
|
|
347
|
+
*/
|
|
348
|
+
valid: boolean;
|
|
349
|
+
};
|
|
350
|
+
export type QuoteSendDto = {
|
|
351
|
+
/**
|
|
352
|
+
* Stablecoin to send
|
|
353
|
+
*/
|
|
354
|
+
asset: 'USDT' | 'USDC';
|
|
355
|
+
/**
|
|
356
|
+
* Amount to send (gross)
|
|
357
|
+
*/
|
|
358
|
+
amount: number;
|
|
359
|
+
network: 'ethereum' | 'polygon' | 'arbitrum' | 'base' | 'arc' | 'bsc' | 'optimism' | 'tron';
|
|
360
|
+
};
|
|
361
|
+
export type PartnerSendResultDto = {
|
|
362
|
+
reference: string;
|
|
363
|
+
asset: 'USDT' | 'USDC';
|
|
364
|
+
network: BlockchainNetwork;
|
|
365
|
+
amount: number;
|
|
366
|
+
fee: number;
|
|
367
|
+
netAmount: number;
|
|
368
|
+
toAddress: string;
|
|
369
|
+
/**
|
|
370
|
+
* Null until the transaction was broadcast (e.g. a FAILED send).
|
|
371
|
+
*/
|
|
372
|
+
txHash: string | null;
|
|
373
|
+
/**
|
|
374
|
+
* PENDING | BROADCASTING | CONFIRMED | FAILED
|
|
375
|
+
*/
|
|
376
|
+
status: string;
|
|
377
|
+
};
|
|
378
|
+
export type SendDto = {
|
|
379
|
+
/**
|
|
380
|
+
* Stablecoin to send
|
|
381
|
+
*/
|
|
382
|
+
asset: 'USDT' | 'USDC';
|
|
383
|
+
/**
|
|
384
|
+
* Amount to send (gross)
|
|
385
|
+
*/
|
|
386
|
+
amount: number;
|
|
387
|
+
network: 'ethereum' | 'polygon' | 'arbitrum' | 'base' | 'arc' | 'bsc' | 'optimism' | 'tron';
|
|
388
|
+
/**
|
|
389
|
+
* Destination on-chain address
|
|
390
|
+
*/
|
|
391
|
+
toAddress: string;
|
|
392
|
+
};
|
|
393
|
+
export type PartnerCorridorDto = {
|
|
394
|
+
/**
|
|
395
|
+
* ISO alpha-2 destination
|
|
396
|
+
*/
|
|
397
|
+
country: string;
|
|
398
|
+
currency: string;
|
|
399
|
+
/**
|
|
400
|
+
* When present, a send must name one of these rails.
|
|
401
|
+
*/
|
|
402
|
+
rails?: Array<string>;
|
|
403
|
+
/**
|
|
404
|
+
* KYC tier the sender must hold.
|
|
405
|
+
*/
|
|
406
|
+
minKycLevel: number;
|
|
407
|
+
/**
|
|
408
|
+
* Pays the sender's own default account rather than a third party.
|
|
409
|
+
*/
|
|
410
|
+
settlesToOwnAccount?: boolean;
|
|
411
|
+
/**
|
|
412
|
+
* Collect the beneficiary name as free text (default true).
|
|
413
|
+
*/
|
|
414
|
+
needsBeneficiaryName?: boolean;
|
|
415
|
+
/**
|
|
416
|
+
* Identifier fields this rail needs beyond name + account.
|
|
417
|
+
*/
|
|
418
|
+
extraFields?: Array<'routing' | 'sort' | 'institution' | 'transit'>;
|
|
419
|
+
/**
|
|
420
|
+
* Absent means enabled.
|
|
421
|
+
*/
|
|
422
|
+
enabled?: boolean;
|
|
423
|
+
};
|
|
424
|
+
export type PartnerGlobalSendQuoteDto = {
|
|
425
|
+
sourceAmount: number;
|
|
426
|
+
sourceCurrency: string;
|
|
427
|
+
asset: string;
|
|
428
|
+
assetAmount: number;
|
|
429
|
+
/**
|
|
430
|
+
* Source currency per unit of asset.
|
|
431
|
+
*/
|
|
432
|
+
rate: number;
|
|
433
|
+
/**
|
|
434
|
+
* False when the sender already holds the asset (no spread).
|
|
435
|
+
*/
|
|
436
|
+
converted: boolean;
|
|
437
|
+
destinationCountry: string;
|
|
438
|
+
destinationCurrency: string;
|
|
439
|
+
/**
|
|
440
|
+
* Null when the provider sets the final figure at payout.
|
|
441
|
+
*/
|
|
442
|
+
estimatedDestinationAmount: number | null;
|
|
443
|
+
};
|
|
444
|
+
export type GlobalSendQuoteDto = {
|
|
445
|
+
/**
|
|
446
|
+
* Amount to debit, in the sender's own currency.
|
|
447
|
+
*/
|
|
448
|
+
amount: number;
|
|
449
|
+
/**
|
|
450
|
+
* ISO alpha-2 destination.
|
|
451
|
+
*/
|
|
452
|
+
destinationCountry: string;
|
|
453
|
+
asset?: 'USDT' | 'USDC';
|
|
454
|
+
};
|
|
455
|
+
export type PartnerGlobalSendResultDto = {
|
|
456
|
+
reference: string;
|
|
457
|
+
/**
|
|
458
|
+
* ISO alpha-2 destination
|
|
459
|
+
*/
|
|
460
|
+
corridor: string;
|
|
461
|
+
/**
|
|
462
|
+
* PENDING | SUBMITTED | PROCESSING | COMPLETED | FAILED
|
|
463
|
+
*/
|
|
464
|
+
status: string;
|
|
465
|
+
destinationCurrency: string;
|
|
466
|
+
/**
|
|
467
|
+
* Stablecoin leg; null on a domestic send.
|
|
468
|
+
*/
|
|
469
|
+
asset: string | null;
|
|
470
|
+
assetAmount: number | null;
|
|
471
|
+
settledBy: 'provider' | 'manual' | 'domestic';
|
|
472
|
+
};
|
|
473
|
+
export type GlobalSendBeneficiaryDto = {
|
|
474
|
+
accountHolderName: string;
|
|
475
|
+
accountNumber: string;
|
|
476
|
+
/**
|
|
477
|
+
* Bank/SWIFT/routing code, whichever the corridor uses.
|
|
478
|
+
*/
|
|
479
|
+
bankCode?: string;
|
|
480
|
+
/**
|
|
481
|
+
* US only: ACH or WIRE.
|
|
482
|
+
*/
|
|
483
|
+
rail?: string;
|
|
484
|
+
email?: string;
|
|
485
|
+
phone?: string;
|
|
486
|
+
addressLine1?: string;
|
|
487
|
+
city?: string;
|
|
488
|
+
/**
|
|
489
|
+
* State or province. Required for US beneficiaries.
|
|
490
|
+
*/
|
|
491
|
+
state?: string;
|
|
492
|
+
postalCode?: string;
|
|
493
|
+
/**
|
|
494
|
+
* Anything else the corridor requires. Stored and shown as-is.
|
|
495
|
+
*/
|
|
496
|
+
extra?: {
|
|
497
|
+
[key: string]: unknown;
|
|
498
|
+
};
|
|
499
|
+
};
|
|
500
|
+
export type InitiateGlobalSendDto = {
|
|
501
|
+
/**
|
|
502
|
+
* Amount to debit, in the sender's own currency.
|
|
503
|
+
*/
|
|
504
|
+
amount: number;
|
|
505
|
+
/**
|
|
506
|
+
* ISO alpha-2 destination.
|
|
507
|
+
*/
|
|
508
|
+
destinationCountry: string;
|
|
509
|
+
asset?: 'USDT' | 'USDC';
|
|
510
|
+
beneficiary: GlobalSendBeneficiaryDto;
|
|
511
|
+
/**
|
|
512
|
+
* Idempotency key. Resending the same value returns the existing send rather than debiting again — pass the client's request id.
|
|
513
|
+
*/
|
|
514
|
+
reference?: string;
|
|
515
|
+
};
|
|
516
|
+
export type PartnerRampQuoteDto = {
|
|
517
|
+
/**
|
|
518
|
+
* Pass as quoteId to the execute route.
|
|
519
|
+
*/
|
|
520
|
+
id: string;
|
|
521
|
+
sourceAmount: number;
|
|
522
|
+
sourceCurrency: string;
|
|
523
|
+
/**
|
|
524
|
+
* Net of every fee below.
|
|
525
|
+
*/
|
|
526
|
+
destinationAmount: number;
|
|
527
|
+
destinationCurrency: string;
|
|
528
|
+
/**
|
|
529
|
+
* Effective rate, spread applied.
|
|
530
|
+
*/
|
|
531
|
+
rate: number;
|
|
532
|
+
/**
|
|
533
|
+
* In the destination currency; 0 on a buy.
|
|
534
|
+
*/
|
|
535
|
+
payoutFee: number;
|
|
536
|
+
/**
|
|
537
|
+
* In the destination currency; 0 on a buy.
|
|
538
|
+
*/
|
|
539
|
+
networkGasFee: number;
|
|
540
|
+
/**
|
|
541
|
+
* In the destination currency; 0 on a buy.
|
|
542
|
+
*/
|
|
543
|
+
exchangeFee: number;
|
|
544
|
+
network: BlockchainNetwork;
|
|
545
|
+
/**
|
|
546
|
+
* Seconds until the quote expires.
|
|
547
|
+
*/
|
|
548
|
+
expiresIn: number;
|
|
549
|
+
};
|
|
550
|
+
export type GetQuoteDto = {
|
|
551
|
+
amount: number;
|
|
552
|
+
sourceCurrency: string;
|
|
553
|
+
destinationCurrency: string;
|
|
554
|
+
type: 'sell' | 'buy';
|
|
555
|
+
network: 'ethereum' | 'polygon' | 'arbitrum' | 'base' | 'arc' | 'bsc' | 'optimism' | 'tron';
|
|
556
|
+
/**
|
|
557
|
+
* Optional preferred exchange venue. If omitted, the system auto-routes to the best available rate.
|
|
558
|
+
*/
|
|
559
|
+
provider?: 'quidax';
|
|
560
|
+
};
|
|
561
|
+
export type PartnerBuyResultDto = {
|
|
562
|
+
reference: string;
|
|
563
|
+
fiatCurrency: string;
|
|
564
|
+
fiatSpent: number;
|
|
565
|
+
usdtCredited: number;
|
|
566
|
+
};
|
|
567
|
+
export type CustomerSellDto = {
|
|
568
|
+
/**
|
|
569
|
+
* Quote id returned by POST /sell/quote
|
|
570
|
+
*/
|
|
571
|
+
quoteId: string;
|
|
572
|
+
};
|
|
573
|
+
export type PartnerNetworkDto = {
|
|
574
|
+
/**
|
|
575
|
+
* The id to send in requests.
|
|
576
|
+
*/
|
|
577
|
+
network: BlockchainNetwork;
|
|
578
|
+
displayName: string;
|
|
579
|
+
/**
|
|
580
|
+
* Whether addresses are EVM (0x...) style.
|
|
581
|
+
*/
|
|
582
|
+
evm: boolean;
|
|
583
|
+
};
|
|
584
|
+
export type PartnerRateDto = {
|
|
585
|
+
fiatCurrency: string;
|
|
586
|
+
/**
|
|
587
|
+
* Fiat per USDT when buying, spread applied.
|
|
588
|
+
*/
|
|
589
|
+
buyRate: number;
|
|
590
|
+
/**
|
|
591
|
+
* Fiat per USDT when selling, spread applied.
|
|
592
|
+
*/
|
|
593
|
+
sellRate: number;
|
|
594
|
+
/**
|
|
595
|
+
* Sell-side payout fee, basis points of gross.
|
|
596
|
+
*/
|
|
597
|
+
payoutFeeBps: number;
|
|
598
|
+
/**
|
|
599
|
+
* Sell-side gas estimate for the network, USD.
|
|
600
|
+
*/
|
|
601
|
+
networkGasFeeUsd: number;
|
|
602
|
+
/**
|
|
603
|
+
* Sell-side exchange fee, USDT.
|
|
604
|
+
*/
|
|
605
|
+
exchangeFeeUsdt: number;
|
|
606
|
+
};
|
|
607
|
+
export type PartnerSellResultDto = {
|
|
608
|
+
reference: string;
|
|
609
|
+
usdtSold: number;
|
|
610
|
+
fiatCurrency: string;
|
|
611
|
+
fiatCredited: number;
|
|
612
|
+
settlementMode: SettlementMode;
|
|
613
|
+
/**
|
|
614
|
+
* True when AUTO settlement already paid the proceeds to the default bank.
|
|
615
|
+
*/
|
|
616
|
+
autoWithdrawn: boolean;
|
|
617
|
+
};
|
|
618
|
+
export type PartnerBankDto = {
|
|
619
|
+
code: string;
|
|
620
|
+
name: string;
|
|
621
|
+
};
|
|
622
|
+
export type PartnerAccountVerificationDto = {
|
|
623
|
+
/**
|
|
624
|
+
* The name the bank holds the account under.
|
|
625
|
+
*/
|
|
626
|
+
accountName: string;
|
|
627
|
+
};
|
|
628
|
+
export type VerifyAccountNumberInput = {
|
|
629
|
+
/**
|
|
630
|
+
* The 10-digit NUBAN account number
|
|
631
|
+
*/
|
|
632
|
+
accountNumber: string;
|
|
633
|
+
/**
|
|
634
|
+
* The unique code for the destination bank
|
|
635
|
+
*/
|
|
636
|
+
bankCode: string;
|
|
637
|
+
/**
|
|
638
|
+
* Currency code
|
|
639
|
+
*/
|
|
640
|
+
currency?: string;
|
|
641
|
+
/**
|
|
642
|
+
* Account type
|
|
643
|
+
*/
|
|
644
|
+
type?: string;
|
|
645
|
+
/**
|
|
646
|
+
* IBAN number
|
|
647
|
+
*/
|
|
648
|
+
iban?: string;
|
|
649
|
+
/**
|
|
650
|
+
* Mobile money code
|
|
651
|
+
*/
|
|
652
|
+
mobileMoneyCode?: string;
|
|
653
|
+
};
|
|
654
|
+
export type PartnerBankAccountDto = {
|
|
655
|
+
id: string;
|
|
656
|
+
customerId: string;
|
|
657
|
+
bankCode: string;
|
|
658
|
+
currency: string;
|
|
659
|
+
/**
|
|
660
|
+
* ISO alpha-2 country of the bank
|
|
661
|
+
*/
|
|
662
|
+
country: string | null;
|
|
663
|
+
accountNumber: string;
|
|
664
|
+
/**
|
|
665
|
+
* Whether the account name was matched to the customer.
|
|
666
|
+
*/
|
|
667
|
+
isVerified: boolean;
|
|
668
|
+
/**
|
|
669
|
+
* The payout destination for withdrawals.
|
|
670
|
+
*/
|
|
671
|
+
isDefault: boolean;
|
|
672
|
+
createdAt: string;
|
|
673
|
+
};
|
|
674
|
+
export type AddAccountDto = {
|
|
675
|
+
accountNumber: string;
|
|
676
|
+
bankCode: string;
|
|
677
|
+
currency: string;
|
|
678
|
+
};
|
|
679
|
+
export type UpdateCustomerProfileDto = {
|
|
680
|
+
firstName?: string;
|
|
681
|
+
lastName?: string;
|
|
682
|
+
middleName?: string;
|
|
683
|
+
/**
|
|
684
|
+
* E.164, e.g. +2348012345678
|
|
685
|
+
*/
|
|
686
|
+
phoneNumber?: string;
|
|
687
|
+
/**
|
|
688
|
+
* ISO alpha-2 country code (must be a supported country)
|
|
689
|
+
*/
|
|
690
|
+
country?: 'NG' | 'GH' | 'KE' | 'TZ' | 'ZA' | 'UG';
|
|
691
|
+
};
|
|
692
|
+
export type ResetPassword = {
|
|
693
|
+
oldPassword: string;
|
|
694
|
+
newPassword: string;
|
|
695
|
+
};
|
|
696
|
+
export type PartnerSettlementModeDto = {
|
|
697
|
+
/**
|
|
698
|
+
* AUTO pays sale proceeds straight to the default bank; MANUAL holds them as a fiat balance.
|
|
699
|
+
*/
|
|
700
|
+
mode: SettlementMode;
|
|
701
|
+
};
|
|
702
|
+
export type SettlementModeDto = {
|
|
703
|
+
/**
|
|
704
|
+
* AUTO settles sale proceeds straight to the default bank; MANUAL holds them as an NGN balance to withdraw later.
|
|
705
|
+
*/
|
|
706
|
+
mode: 'AUTO' | 'MANUAL';
|
|
707
|
+
};
|
|
708
|
+
export type PartnerReceivingAccountDto = {
|
|
709
|
+
id: string;
|
|
710
|
+
currency: string;
|
|
711
|
+
status: string;
|
|
712
|
+
/**
|
|
713
|
+
* Payer-facing bank details, camelCased: bankName, bankAddress, bankBeneficiaryName, bankAccountNumber, bankRoutingNumber, iban, bic, accountNumber, sortCode, paymentRails, ... Show them verbatim.
|
|
714
|
+
*/
|
|
715
|
+
depositInstructions: {
|
|
716
|
+
[key: string]: unknown;
|
|
717
|
+
};
|
|
718
|
+
};
|
|
719
|
+
export type PartnerReceivingActivityDto = {
|
|
720
|
+
id: string;
|
|
721
|
+
/**
|
|
722
|
+
* funds_received | payment_submitted | payment_processed | ...
|
|
723
|
+
*/
|
|
724
|
+
type: string;
|
|
725
|
+
amount: number | null;
|
|
726
|
+
currency: string | null;
|
|
727
|
+
senderName: string | null;
|
|
728
|
+
description: string | null;
|
|
729
|
+
/**
|
|
730
|
+
* Set once the stablecoin has been sent on-chain.
|
|
731
|
+
*/
|
|
732
|
+
txHash: string | null;
|
|
733
|
+
occurredAt: string;
|
|
734
|
+
};
|
|
735
|
+
export type PartnerCountryDto = {
|
|
736
|
+
/**
|
|
737
|
+
* ISO alpha-2
|
|
738
|
+
*/
|
|
739
|
+
code: string;
|
|
740
|
+
name: string;
|
|
741
|
+
/**
|
|
742
|
+
* Local fiat currency
|
|
743
|
+
*/
|
|
744
|
+
currency: string | null;
|
|
745
|
+
};
|
|
746
|
+
export type FeatureStatus = 'LIVE' | 'COMING_SOON' | 'OFF';
|
|
747
|
+
export type PartnerFeatureDto = {
|
|
748
|
+
key: 'onramp' | 'offramp' | 'global_send' | 'crypto_send' | 'withdrawal' | 'funding' | 'receiving';
|
|
749
|
+
label: string;
|
|
750
|
+
status: FeatureStatus;
|
|
751
|
+
/**
|
|
752
|
+
* Only LIVE is usable.
|
|
753
|
+
*/
|
|
754
|
+
enabled: boolean;
|
|
755
|
+
/**
|
|
756
|
+
* Operator note to show when the feature is unavailable.
|
|
757
|
+
*/
|
|
758
|
+
message: string | null;
|
|
759
|
+
};
|
|
760
|
+
export type PartnerWebhookConfigDto = {
|
|
761
|
+
url: string | null;
|
|
762
|
+
/**
|
|
763
|
+
* Whether a signing secret is on file. The secret itself is only ever returned by PUT /webhook and POST /webhook/rotate-secret.
|
|
764
|
+
*/
|
|
765
|
+
hasSecret: boolean;
|
|
766
|
+
/**
|
|
767
|
+
* When the URL or secret was last changed (ISO 8601).
|
|
768
|
+
*/
|
|
769
|
+
updatedAt: string | null;
|
|
770
|
+
};
|
|
771
|
+
export type PartnerWebhookTestDto = {
|
|
772
|
+
/**
|
|
773
|
+
* True when your endpoint answered 2xx.
|
|
774
|
+
*/
|
|
775
|
+
delivered: boolean;
|
|
776
|
+
/**
|
|
777
|
+
* Your endpoint’s HTTP status; null if it did not respond.
|
|
778
|
+
*/
|
|
779
|
+
statusCode: number | null;
|
|
780
|
+
error: string | null;
|
|
781
|
+
};
|
|
782
|
+
export type PartnerWebhookSecretDto = {
|
|
783
|
+
url: string;
|
|
784
|
+
/**
|
|
785
|
+
* The HMAC-SHA256 signing secret (64 hex chars). Shown ONCE -- store it now; it cannot be read back, only rotated.
|
|
786
|
+
*/
|
|
787
|
+
secret: string;
|
|
788
|
+
/**
|
|
789
|
+
* Result of the synchronous `webhook.test` delivery sent to the URL.
|
|
790
|
+
*/
|
|
791
|
+
test: PartnerWebhookTestDto;
|
|
792
|
+
};
|
|
793
|
+
export type SetWebhookUrlDto = {
|
|
794
|
+
/**
|
|
795
|
+
* Absolute URL we POST events to. Must be https and reachable from the public internet in production; http://localhost is accepted elsewhere.
|
|
796
|
+
*/
|
|
797
|
+
url: string;
|
|
798
|
+
};
|
|
799
|
+
/**
|
|
800
|
+
* PENDING (queued or awaiting a retry) | DELIVERED (you answered 2xx) | DEAD (retries exhausted, or you answered 410).
|
|
801
|
+
*/
|
|
802
|
+
export type WebhookDeliveryStatus = 'PENDING' | 'DELIVERED' | 'DEAD';
|
|
803
|
+
export type PartnerWebhookDeliveryDto = {
|
|
804
|
+
/**
|
|
805
|
+
* The event id -- the same value as the envelope `id` and the X-Dutchman-Event-Id header. Stable across retries and replays.
|
|
806
|
+
*/
|
|
807
|
+
id: string;
|
|
808
|
+
type: string;
|
|
809
|
+
/**
|
|
810
|
+
* PENDING (queued or awaiting a retry) | DELIVERED (you answered 2xx) | DEAD (retries exhausted, or you answered 410).
|
|
811
|
+
*/
|
|
812
|
+
status: WebhookDeliveryStatus;
|
|
813
|
+
/**
|
|
814
|
+
* POSTs made so far.
|
|
815
|
+
*/
|
|
816
|
+
attempts: number;
|
|
817
|
+
/**
|
|
818
|
+
* When the next attempt is due (PENDING only).
|
|
819
|
+
*/
|
|
820
|
+
nextAttemptAt: string;
|
|
821
|
+
lastAttemptAt: string | null;
|
|
822
|
+
/**
|
|
823
|
+
* HTTP status your endpoint last returned; null on no response.
|
|
824
|
+
*/
|
|
825
|
+
lastResponseStatus: number | null;
|
|
826
|
+
lastError: string | null;
|
|
827
|
+
createdAt: string;
|
|
828
|
+
deliveredAt: string | null;
|
|
829
|
+
};
|
|
830
|
+
export type PartnerWebhookDeliveryDetailDto = {
|
|
831
|
+
/**
|
|
832
|
+
* The event id -- the same value as the envelope `id` and the X-Dutchman-Event-Id header. Stable across retries and replays.
|
|
833
|
+
*/
|
|
834
|
+
id: string;
|
|
835
|
+
type: string;
|
|
836
|
+
/**
|
|
837
|
+
* PENDING (queued or awaiting a retry) | DELIVERED (you answered 2xx) | DEAD (retries exhausted, or you answered 410).
|
|
838
|
+
*/
|
|
839
|
+
status: WebhookDeliveryStatus;
|
|
840
|
+
/**
|
|
841
|
+
* POSTs made so far.
|
|
842
|
+
*/
|
|
843
|
+
attempts: number;
|
|
844
|
+
/**
|
|
845
|
+
* When the next attempt is due (PENDING only).
|
|
846
|
+
*/
|
|
847
|
+
nextAttemptAt: string;
|
|
848
|
+
lastAttemptAt: string | null;
|
|
849
|
+
/**
|
|
850
|
+
* HTTP status your endpoint last returned; null on no response.
|
|
851
|
+
*/
|
|
852
|
+
lastResponseStatus: number | null;
|
|
853
|
+
lastError: string | null;
|
|
854
|
+
createdAt: string;
|
|
855
|
+
deliveredAt: string | null;
|
|
856
|
+
/**
|
|
857
|
+
* The full envelope `{ id, type, createdAt, data }` exactly as POSTed.
|
|
858
|
+
*/
|
|
859
|
+
payload: {
|
|
860
|
+
[key: string]: unknown;
|
|
861
|
+
};
|
|
862
|
+
};
|
|
863
|
+
export type CustomersRegisterData = {
|
|
864
|
+
body: RegisterCustomerDto;
|
|
865
|
+
path?: never;
|
|
866
|
+
query?: never;
|
|
867
|
+
url: '/api/v1/partner/v1/customers';
|
|
868
|
+
};
|
|
869
|
+
export type CustomersRegisterResponses = {
|
|
870
|
+
201: {
|
|
871
|
+
success: boolean;
|
|
872
|
+
data: PartnerCustomerDto;
|
|
873
|
+
};
|
|
874
|
+
};
|
|
875
|
+
export type CustomersRegisterResponse = CustomersRegisterResponses[keyof CustomersRegisterResponses];
|
|
876
|
+
export type ProfileDeleteAccountData = {
|
|
877
|
+
body?: never;
|
|
878
|
+
path: {
|
|
879
|
+
/**
|
|
880
|
+
* Id of one of your customers, as returned by customers.register.
|
|
881
|
+
*/
|
|
882
|
+
customerId: string;
|
|
883
|
+
};
|
|
884
|
+
query?: never;
|
|
885
|
+
url: '/api/v1/partner/v1/customers/{customerId}';
|
|
886
|
+
};
|
|
887
|
+
export type ProfileDeleteAccountResponses = {
|
|
888
|
+
/**
|
|
889
|
+
* Account deleted.
|
|
890
|
+
*/
|
|
891
|
+
204: void;
|
|
892
|
+
};
|
|
893
|
+
export type ProfileDeleteAccountResponse = ProfileDeleteAccountResponses[keyof ProfileDeleteAccountResponses];
|
|
894
|
+
export type CustomersGetData = {
|
|
895
|
+
body?: never;
|
|
896
|
+
path: {
|
|
897
|
+
customerId: string;
|
|
898
|
+
};
|
|
899
|
+
query?: never;
|
|
900
|
+
url: '/api/v1/partner/v1/customers/{customerId}';
|
|
901
|
+
};
|
|
902
|
+
export type CustomersGetResponses = {
|
|
903
|
+
200: {
|
|
904
|
+
success: boolean;
|
|
905
|
+
data: PartnerCustomerDto;
|
|
906
|
+
};
|
|
907
|
+
};
|
|
908
|
+
export type CustomersGetResponse = CustomersGetResponses[keyof CustomersGetResponses];
|
|
909
|
+
export type CustomersFullData = {
|
|
910
|
+
body?: never;
|
|
911
|
+
path: {
|
|
912
|
+
customerId: string;
|
|
913
|
+
};
|
|
914
|
+
query?: never;
|
|
915
|
+
url: '/api/v1/partner/v1/customers/{customerId}/full';
|
|
916
|
+
};
|
|
917
|
+
export type CustomersFullResponses = {
|
|
918
|
+
200: {
|
|
919
|
+
success: boolean;
|
|
920
|
+
data: PartnerCustomerSnapshotDto;
|
|
921
|
+
};
|
|
922
|
+
};
|
|
923
|
+
export type CustomersFullResponse = CustomersFullResponses[keyof CustomersFullResponses];
|
|
924
|
+
export type KycStatusData = {
|
|
925
|
+
body?: never;
|
|
926
|
+
path: {
|
|
927
|
+
/**
|
|
928
|
+
* Id of one of your customers, as returned by customers.register.
|
|
929
|
+
*/
|
|
930
|
+
customerId: string;
|
|
931
|
+
};
|
|
932
|
+
query?: never;
|
|
933
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc';
|
|
934
|
+
};
|
|
935
|
+
export type KycStatusResponses = {
|
|
936
|
+
200: {
|
|
937
|
+
success: boolean;
|
|
938
|
+
data: Array<PartnerKycRecordDto>;
|
|
939
|
+
};
|
|
940
|
+
};
|
|
941
|
+
export type KycStatusResponse = KycStatusResponses[keyof KycStatusResponses];
|
|
942
|
+
export type KycReverificationData = {
|
|
943
|
+
body?: never;
|
|
944
|
+
path: {
|
|
945
|
+
/**
|
|
946
|
+
* Id of one of your customers, as returned by customers.register.
|
|
947
|
+
*/
|
|
948
|
+
customerId: string;
|
|
949
|
+
};
|
|
950
|
+
query?: never;
|
|
951
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/reverification';
|
|
952
|
+
};
|
|
953
|
+
export type KycReverificationResponses = {
|
|
954
|
+
200: {
|
|
955
|
+
success: boolean;
|
|
956
|
+
data: PartnerReverificationRequestDto | null;
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
export type KycReverificationResponse = KycReverificationResponses[keyof KycReverificationResponses];
|
|
960
|
+
export type KycTier1Data = {
|
|
961
|
+
body: Tier1KycDto;
|
|
962
|
+
path: {
|
|
963
|
+
/**
|
|
964
|
+
* Id of one of your customers, as returned by customers.register.
|
|
965
|
+
*/
|
|
966
|
+
customerId: string;
|
|
967
|
+
};
|
|
968
|
+
query?: never;
|
|
969
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/tier1';
|
|
970
|
+
};
|
|
971
|
+
export type KycTier1Responses = {
|
|
972
|
+
201: {
|
|
973
|
+
success: boolean;
|
|
974
|
+
data: PartnerKycSubmissionDto;
|
|
975
|
+
};
|
|
976
|
+
};
|
|
977
|
+
export type KycTier1Response = KycTier1Responses[keyof KycTier1Responses];
|
|
978
|
+
export type KycTier2Data = {
|
|
979
|
+
body: Tier2KycDto;
|
|
980
|
+
path: {
|
|
981
|
+
/**
|
|
982
|
+
* Id of one of your customers, as returned by customers.register.
|
|
983
|
+
*/
|
|
984
|
+
customerId: string;
|
|
985
|
+
};
|
|
986
|
+
query?: never;
|
|
987
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/tier2';
|
|
988
|
+
};
|
|
989
|
+
export type KycTier2Responses = {
|
|
990
|
+
201: {
|
|
991
|
+
success: boolean;
|
|
992
|
+
data: PartnerKycSubmissionDto;
|
|
993
|
+
};
|
|
994
|
+
};
|
|
995
|
+
export type KycTier2Response = KycTier2Responses[keyof KycTier2Responses];
|
|
996
|
+
export type KycTier3Data = {
|
|
997
|
+
body: SubmitTier3Dto;
|
|
998
|
+
path: {
|
|
999
|
+
/**
|
|
1000
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1001
|
+
*/
|
|
1002
|
+
customerId: string;
|
|
1003
|
+
};
|
|
1004
|
+
query?: never;
|
|
1005
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/tier3';
|
|
1006
|
+
};
|
|
1007
|
+
export type KycTier3Responses = {
|
|
1008
|
+
201: {
|
|
1009
|
+
success: boolean;
|
|
1010
|
+
data: Array<PartnerVerificationRecordDto>;
|
|
1011
|
+
};
|
|
1012
|
+
};
|
|
1013
|
+
export type KycTier3Response = KycTier3Responses[keyof KycTier3Responses];
|
|
1014
|
+
export type KycSelfieCheckRouteData = {
|
|
1015
|
+
body: CheckSelfieDto;
|
|
1016
|
+
path: {
|
|
1017
|
+
/**
|
|
1018
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1019
|
+
*/
|
|
1020
|
+
customerId: string;
|
|
1021
|
+
};
|
|
1022
|
+
query?: never;
|
|
1023
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/selfie-check';
|
|
1024
|
+
};
|
|
1025
|
+
export type KycSelfieCheckRouteResponses = {
|
|
1026
|
+
200: {
|
|
1027
|
+
success: boolean;
|
|
1028
|
+
data: PartnerSelfieCheckDto;
|
|
1029
|
+
};
|
|
1030
|
+
};
|
|
1031
|
+
export type KycSelfieCheckRouteResponse = KycSelfieCheckRouteResponses[keyof KycSelfieCheckRouteResponses];
|
|
1032
|
+
export type KycDocumentData = {
|
|
1033
|
+
body: {
|
|
1034
|
+
/**
|
|
1035
|
+
* PDF, JPEG, PNG or WEBP, at most 10 MB.
|
|
1036
|
+
*/
|
|
1037
|
+
file: Blob | File;
|
|
1038
|
+
};
|
|
1039
|
+
path: {
|
|
1040
|
+
/**
|
|
1041
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1042
|
+
*/
|
|
1043
|
+
customerId: string;
|
|
1044
|
+
};
|
|
1045
|
+
query?: never;
|
|
1046
|
+
url: '/api/v1/partner/v1/customers/{customerId}/kyc/documents';
|
|
1047
|
+
};
|
|
1048
|
+
export type KycDocumentResponses = {
|
|
1049
|
+
201: {
|
|
1050
|
+
success: boolean;
|
|
1051
|
+
data: PartnerUploadedDocumentDto;
|
|
1052
|
+
};
|
|
1053
|
+
};
|
|
1054
|
+
export type KycDocumentResponse = KycDocumentResponses[keyof KycDocumentResponses];
|
|
1055
|
+
export type WalletBalanceData = {
|
|
1056
|
+
body?: never;
|
|
1057
|
+
path: {
|
|
1058
|
+
/**
|
|
1059
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1060
|
+
*/
|
|
1061
|
+
customerId: string;
|
|
1062
|
+
};
|
|
1063
|
+
query?: never;
|
|
1064
|
+
url: '/api/v1/partner/v1/customers/{customerId}/balance';
|
|
1065
|
+
};
|
|
1066
|
+
export type WalletBalanceResponses = {
|
|
1067
|
+
200: {
|
|
1068
|
+
success: boolean;
|
|
1069
|
+
data: Array<PartnerBalanceDto>;
|
|
1070
|
+
};
|
|
1071
|
+
};
|
|
1072
|
+
export type WalletBalanceResponse = WalletBalanceResponses[keyof WalletBalanceResponses];
|
|
1073
|
+
export type WalletStreamBalanceData = {
|
|
1074
|
+
body?: never;
|
|
1075
|
+
path: {
|
|
1076
|
+
/**
|
|
1077
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1078
|
+
*/
|
|
1079
|
+
customerId: string;
|
|
1080
|
+
};
|
|
1081
|
+
query?: never;
|
|
1082
|
+
url: '/api/v1/partner/v1/customers/{customerId}/balance/stream';
|
|
1083
|
+
};
|
|
1084
|
+
export type WalletStreamBalanceResponses = {
|
|
1085
|
+
200: unknown;
|
|
1086
|
+
};
|
|
1087
|
+
export type WalletTransactionsData = {
|
|
1088
|
+
body?: never;
|
|
1089
|
+
path: {
|
|
1090
|
+
/**
|
|
1091
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1092
|
+
*/
|
|
1093
|
+
customerId: string;
|
|
1094
|
+
};
|
|
1095
|
+
query?: {
|
|
1096
|
+
/**
|
|
1097
|
+
* Page size.
|
|
1098
|
+
*/
|
|
1099
|
+
limit?: number;
|
|
1100
|
+
/**
|
|
1101
|
+
* Opaque; the previous page's meta.nextCursor. Omit for the first page.
|
|
1102
|
+
*/
|
|
1103
|
+
cursor?: string;
|
|
1104
|
+
};
|
|
1105
|
+
url: '/api/v1/partner/v1/customers/{customerId}/transactions';
|
|
1106
|
+
};
|
|
1107
|
+
export type WalletTransactionsResponses = {
|
|
1108
|
+
200: {
|
|
1109
|
+
success: boolean;
|
|
1110
|
+
data: Array<PartnerLedgerEntryDto>;
|
|
1111
|
+
meta: {
|
|
1112
|
+
/**
|
|
1113
|
+
* Pass back as ?cursor to fetch the next page; null on the last page.
|
|
1114
|
+
*/
|
|
1115
|
+
nextCursor: string | null;
|
|
1116
|
+
};
|
|
1117
|
+
};
|
|
1118
|
+
};
|
|
1119
|
+
export type WalletTransactionsResponse = WalletTransactionsResponses[keyof WalletTransactionsResponses];
|
|
1120
|
+
export type WalletAddressesData = {
|
|
1121
|
+
body?: never;
|
|
1122
|
+
path: {
|
|
1123
|
+
/**
|
|
1124
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1125
|
+
*/
|
|
1126
|
+
customerId: string;
|
|
1127
|
+
};
|
|
1128
|
+
query?: never;
|
|
1129
|
+
url: '/api/v1/partner/v1/customers/{customerId}/addresses';
|
|
1130
|
+
};
|
|
1131
|
+
export type WalletAddressesResponses = {
|
|
1132
|
+
200: {
|
|
1133
|
+
success: boolean;
|
|
1134
|
+
data: Array<PartnerDepositAddressDto>;
|
|
1135
|
+
};
|
|
1136
|
+
};
|
|
1137
|
+
export type WalletAddressesResponse = WalletAddressesResponses[keyof WalletAddressesResponses];
|
|
1138
|
+
export type WalletVirtualAccountForData = {
|
|
1139
|
+
body?: never;
|
|
1140
|
+
path: {
|
|
1141
|
+
/**
|
|
1142
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1143
|
+
*/
|
|
1144
|
+
customerId: string;
|
|
1145
|
+
};
|
|
1146
|
+
query?: never;
|
|
1147
|
+
url: '/api/v1/partner/v1/customers/{customerId}/virtual-account';
|
|
1148
|
+
};
|
|
1149
|
+
export type WalletVirtualAccountForResponses = {
|
|
1150
|
+
200: {
|
|
1151
|
+
success: boolean;
|
|
1152
|
+
data: PartnerVirtualAccountDto;
|
|
1153
|
+
};
|
|
1154
|
+
};
|
|
1155
|
+
export type WalletVirtualAccountForResponse = WalletVirtualAccountForResponses[keyof WalletVirtualAccountForResponses];
|
|
1156
|
+
export type WalletWithdrawData = {
|
|
1157
|
+
body: WithdrawDto;
|
|
1158
|
+
path: {
|
|
1159
|
+
/**
|
|
1160
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1161
|
+
*/
|
|
1162
|
+
customerId: string;
|
|
1163
|
+
};
|
|
1164
|
+
query?: never;
|
|
1165
|
+
url: '/api/v1/partner/v1/customers/{customerId}/withdraw';
|
|
1166
|
+
};
|
|
1167
|
+
export type WalletWithdrawResponses = {
|
|
1168
|
+
201: {
|
|
1169
|
+
success: boolean;
|
|
1170
|
+
data: PartnerWithdrawalDto;
|
|
1171
|
+
};
|
|
1172
|
+
};
|
|
1173
|
+
export type WalletWithdrawResponse = WalletWithdrawResponses[keyof WalletWithdrawResponses];
|
|
1174
|
+
export type WalletInitiateFundingChargeData = {
|
|
1175
|
+
body: InitiateFundingChargeDto;
|
|
1176
|
+
path: {
|
|
1177
|
+
/**
|
|
1178
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1179
|
+
*/
|
|
1180
|
+
customerId: string;
|
|
1181
|
+
};
|
|
1182
|
+
query?: never;
|
|
1183
|
+
url: '/api/v1/partner/v1/customers/{customerId}/funding/charge';
|
|
1184
|
+
};
|
|
1185
|
+
export type WalletInitiateFundingChargeResponses = {
|
|
1186
|
+
201: {
|
|
1187
|
+
success: boolean;
|
|
1188
|
+
data: PartnerFundingChargeDto;
|
|
1189
|
+
};
|
|
1190
|
+
};
|
|
1191
|
+
export type WalletInitiateFundingChargeResponse = WalletInitiateFundingChargeResponses[keyof WalletInitiateFundingChargeResponses];
|
|
1192
|
+
export type WalletFundingChargesData = {
|
|
1193
|
+
body?: never;
|
|
1194
|
+
path: {
|
|
1195
|
+
/**
|
|
1196
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1197
|
+
*/
|
|
1198
|
+
customerId: string;
|
|
1199
|
+
};
|
|
1200
|
+
query?: {
|
|
1201
|
+
/**
|
|
1202
|
+
* Page size.
|
|
1203
|
+
*/
|
|
1204
|
+
limit?: number;
|
|
1205
|
+
/**
|
|
1206
|
+
* Opaque; the previous page's meta.nextCursor. Omit for the first page.
|
|
1207
|
+
*/
|
|
1208
|
+
cursor?: string;
|
|
1209
|
+
};
|
|
1210
|
+
url: '/api/v1/partner/v1/customers/{customerId}/funding/charges';
|
|
1211
|
+
};
|
|
1212
|
+
export type WalletFundingChargesResponses = {
|
|
1213
|
+
200: {
|
|
1214
|
+
success: boolean;
|
|
1215
|
+
data: Array<PartnerFundingChargeDto>;
|
|
1216
|
+
meta: {
|
|
1217
|
+
/**
|
|
1218
|
+
* Pass back as ?cursor to fetch the next page; null on the last page.
|
|
1219
|
+
*/
|
|
1220
|
+
nextCursor: string | null;
|
|
1221
|
+
};
|
|
1222
|
+
};
|
|
1223
|
+
};
|
|
1224
|
+
export type WalletFundingChargesResponse = WalletFundingChargesResponses[keyof WalletFundingChargesResponses];
|
|
1225
|
+
export type SendNetworksData = {
|
|
1226
|
+
body?: never;
|
|
1227
|
+
path: {
|
|
1228
|
+
/**
|
|
1229
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1230
|
+
*/
|
|
1231
|
+
customerId: string;
|
|
1232
|
+
};
|
|
1233
|
+
query?: never;
|
|
1234
|
+
url: '/api/v1/partner/v1/customers/{customerId}/send/networks';
|
|
1235
|
+
};
|
|
1236
|
+
export type SendNetworksResponses = {
|
|
1237
|
+
200: {
|
|
1238
|
+
success: boolean;
|
|
1239
|
+
data: Array<PartnerSendNetworkDto>;
|
|
1240
|
+
};
|
|
1241
|
+
};
|
|
1242
|
+
export type SendNetworksResponse = SendNetworksResponses[keyof SendNetworksResponses];
|
|
1243
|
+
export type SendQuoteData = {
|
|
1244
|
+
body: QuoteSendDto;
|
|
1245
|
+
path: {
|
|
1246
|
+
/**
|
|
1247
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1248
|
+
*/
|
|
1249
|
+
customerId: string;
|
|
1250
|
+
};
|
|
1251
|
+
query?: never;
|
|
1252
|
+
url: '/api/v1/partner/v1/customers/{customerId}/send/quote';
|
|
1253
|
+
};
|
|
1254
|
+
export type SendQuoteResponses = {
|
|
1255
|
+
200: {
|
|
1256
|
+
success: boolean;
|
|
1257
|
+
data: PartnerSendQuoteDto;
|
|
1258
|
+
};
|
|
1259
|
+
};
|
|
1260
|
+
export type SendQuoteResponse = SendQuoteResponses[keyof SendQuoteResponses];
|
|
1261
|
+
export type SendSubmitData = {
|
|
1262
|
+
body: SendDto;
|
|
1263
|
+
path: {
|
|
1264
|
+
/**
|
|
1265
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1266
|
+
*/
|
|
1267
|
+
customerId: string;
|
|
1268
|
+
};
|
|
1269
|
+
query?: never;
|
|
1270
|
+
url: '/api/v1/partner/v1/customers/{customerId}/send';
|
|
1271
|
+
};
|
|
1272
|
+
export type SendSubmitResponses = {
|
|
1273
|
+
201: {
|
|
1274
|
+
success: boolean;
|
|
1275
|
+
data: PartnerSendResultDto;
|
|
1276
|
+
};
|
|
1277
|
+
};
|
|
1278
|
+
export type SendSubmitResponse = SendSubmitResponses[keyof SendSubmitResponses];
|
|
1279
|
+
export type GlobalSendVerificationStatusData = {
|
|
1280
|
+
body?: never;
|
|
1281
|
+
path: {
|
|
1282
|
+
/**
|
|
1283
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1284
|
+
*/
|
|
1285
|
+
customerId: string;
|
|
1286
|
+
};
|
|
1287
|
+
query?: never;
|
|
1288
|
+
url: '/api/v1/partner/v1/customers/{customerId}/global-send/verification';
|
|
1289
|
+
};
|
|
1290
|
+
export type GlobalSendVerificationStatusResponses = {
|
|
1291
|
+
200: {
|
|
1292
|
+
success: boolean;
|
|
1293
|
+
data: Array<PartnerVerificationRecordDto>;
|
|
1294
|
+
};
|
|
1295
|
+
};
|
|
1296
|
+
export type GlobalSendVerificationStatusResponse = GlobalSendVerificationStatusResponses[keyof GlobalSendVerificationStatusResponses];
|
|
1297
|
+
export type GlobalSendCorridorsData = {
|
|
1298
|
+
body?: never;
|
|
1299
|
+
path: {
|
|
1300
|
+
/**
|
|
1301
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1302
|
+
*/
|
|
1303
|
+
customerId: string;
|
|
1304
|
+
};
|
|
1305
|
+
query?: never;
|
|
1306
|
+
url: '/api/v1/partner/v1/customers/{customerId}/global-send/corridors';
|
|
1307
|
+
};
|
|
1308
|
+
export type GlobalSendCorridorsResponses = {
|
|
1309
|
+
200: {
|
|
1310
|
+
success: boolean;
|
|
1311
|
+
data: Array<PartnerCorridorDto>;
|
|
1312
|
+
};
|
|
1313
|
+
};
|
|
1314
|
+
export type GlobalSendCorridorsResponse = GlobalSendCorridorsResponses[keyof GlobalSendCorridorsResponses];
|
|
1315
|
+
export type GlobalSendQuoteData = {
|
|
1316
|
+
body: GlobalSendQuoteDto;
|
|
1317
|
+
path: {
|
|
1318
|
+
/**
|
|
1319
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1320
|
+
*/
|
|
1321
|
+
customerId: string;
|
|
1322
|
+
};
|
|
1323
|
+
query?: never;
|
|
1324
|
+
url: '/api/v1/partner/v1/customers/{customerId}/global-send/quote';
|
|
1325
|
+
};
|
|
1326
|
+
export type GlobalSendQuoteResponses = {
|
|
1327
|
+
200: {
|
|
1328
|
+
success: boolean;
|
|
1329
|
+
data: PartnerGlobalSendQuoteDto;
|
|
1330
|
+
};
|
|
1331
|
+
};
|
|
1332
|
+
export type GlobalSendQuoteResponse = GlobalSendQuoteResponses[keyof GlobalSendQuoteResponses];
|
|
1333
|
+
export type GlobalSendInitiateData = {
|
|
1334
|
+
body: InitiateGlobalSendDto;
|
|
1335
|
+
path: {
|
|
1336
|
+
/**
|
|
1337
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1338
|
+
*/
|
|
1339
|
+
customerId: string;
|
|
1340
|
+
};
|
|
1341
|
+
query?: never;
|
|
1342
|
+
url: '/api/v1/partner/v1/customers/{customerId}/global-send/initiate';
|
|
1343
|
+
};
|
|
1344
|
+
export type GlobalSendInitiateResponses = {
|
|
1345
|
+
201: {
|
|
1346
|
+
success: boolean;
|
|
1347
|
+
data: PartnerGlobalSendResultDto;
|
|
1348
|
+
};
|
|
1349
|
+
};
|
|
1350
|
+
export type GlobalSendInitiateResponse = GlobalSendInitiateResponses[keyof GlobalSendInitiateResponses];
|
|
1351
|
+
export type RampBuyQuoteData = {
|
|
1352
|
+
body: GetQuoteDto;
|
|
1353
|
+
path: {
|
|
1354
|
+
/**
|
|
1355
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1356
|
+
*/
|
|
1357
|
+
customerId: string;
|
|
1358
|
+
};
|
|
1359
|
+
query?: never;
|
|
1360
|
+
url: '/api/v1/partner/v1/customers/{customerId}/buy/quote';
|
|
1361
|
+
};
|
|
1362
|
+
export type RampBuyQuoteResponses = {
|
|
1363
|
+
200: {
|
|
1364
|
+
success: boolean;
|
|
1365
|
+
data: PartnerRampQuoteDto;
|
|
1366
|
+
};
|
|
1367
|
+
};
|
|
1368
|
+
export type RampBuyQuoteResponse = RampBuyQuoteResponses[keyof RampBuyQuoteResponses];
|
|
1369
|
+
export type RampBuyData = {
|
|
1370
|
+
body: CustomerSellDto;
|
|
1371
|
+
path: {
|
|
1372
|
+
/**
|
|
1373
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1374
|
+
*/
|
|
1375
|
+
customerId: string;
|
|
1376
|
+
};
|
|
1377
|
+
query?: never;
|
|
1378
|
+
url: '/api/v1/partner/v1/customers/{customerId}/buy/execute';
|
|
1379
|
+
};
|
|
1380
|
+
export type RampBuyResponses = {
|
|
1381
|
+
201: {
|
|
1382
|
+
success: boolean;
|
|
1383
|
+
data: PartnerBuyResultDto;
|
|
1384
|
+
};
|
|
1385
|
+
};
|
|
1386
|
+
export type RampBuyResponse = RampBuyResponses[keyof RampBuyResponses];
|
|
1387
|
+
export type RampSellNetworksData = {
|
|
1388
|
+
body?: never;
|
|
1389
|
+
path: {
|
|
1390
|
+
/**
|
|
1391
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1392
|
+
*/
|
|
1393
|
+
customerId: string;
|
|
1394
|
+
};
|
|
1395
|
+
query?: never;
|
|
1396
|
+
url: '/api/v1/partner/v1/customers/{customerId}/sell/networks';
|
|
1397
|
+
};
|
|
1398
|
+
export type RampSellNetworksResponses = {
|
|
1399
|
+
200: {
|
|
1400
|
+
success: boolean;
|
|
1401
|
+
data: Array<PartnerNetworkDto>;
|
|
1402
|
+
};
|
|
1403
|
+
};
|
|
1404
|
+
export type RampSellNetworksResponse = RampSellNetworksResponses[keyof RampSellNetworksResponses];
|
|
1405
|
+
export type RampRateData = {
|
|
1406
|
+
body?: never;
|
|
1407
|
+
path: {
|
|
1408
|
+
/**
|
|
1409
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1410
|
+
*/
|
|
1411
|
+
customerId: string;
|
|
1412
|
+
};
|
|
1413
|
+
query?: {
|
|
1414
|
+
/**
|
|
1415
|
+
* Chain the gas-fee estimate is quoted for. Only affects sell-side fees; buys are fee-free.
|
|
1416
|
+
*/
|
|
1417
|
+
network?: 'ethereum' | 'polygon' | 'arbitrum' | 'base' | 'arc' | 'bsc' | 'optimism' | 'tron';
|
|
1418
|
+
};
|
|
1419
|
+
url: '/api/v1/partner/v1/customers/{customerId}/rate';
|
|
1420
|
+
};
|
|
1421
|
+
export type RampRateResponses = {
|
|
1422
|
+
200: {
|
|
1423
|
+
success: boolean;
|
|
1424
|
+
data: PartnerRateDto;
|
|
1425
|
+
};
|
|
1426
|
+
};
|
|
1427
|
+
export type RampRateResponse = RampRateResponses[keyof RampRateResponses];
|
|
1428
|
+
export type RampSellQuoteData = {
|
|
1429
|
+
body: GetQuoteDto;
|
|
1430
|
+
path: {
|
|
1431
|
+
/**
|
|
1432
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1433
|
+
*/
|
|
1434
|
+
customerId: string;
|
|
1435
|
+
};
|
|
1436
|
+
query?: never;
|
|
1437
|
+
url: '/api/v1/partner/v1/customers/{customerId}/sell/quote';
|
|
1438
|
+
};
|
|
1439
|
+
export type RampSellQuoteResponses = {
|
|
1440
|
+
200: {
|
|
1441
|
+
success: boolean;
|
|
1442
|
+
data: PartnerRampQuoteDto;
|
|
1443
|
+
};
|
|
1444
|
+
};
|
|
1445
|
+
export type RampSellQuoteResponse = RampSellQuoteResponses[keyof RampSellQuoteResponses];
|
|
1446
|
+
export type RampSellData = {
|
|
1447
|
+
body: CustomerSellDto;
|
|
1448
|
+
path: {
|
|
1449
|
+
/**
|
|
1450
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1451
|
+
*/
|
|
1452
|
+
customerId: string;
|
|
1453
|
+
};
|
|
1454
|
+
query?: never;
|
|
1455
|
+
url: '/api/v1/partner/v1/customers/{customerId}/sell/execute';
|
|
1456
|
+
};
|
|
1457
|
+
export type RampSellResponses = {
|
|
1458
|
+
201: {
|
|
1459
|
+
success: boolean;
|
|
1460
|
+
data: PartnerSellResultDto;
|
|
1461
|
+
};
|
|
1462
|
+
};
|
|
1463
|
+
export type RampSellResponse = RampSellResponses[keyof RampSellResponses];
|
|
1464
|
+
export type BankBanksData = {
|
|
1465
|
+
body?: never;
|
|
1466
|
+
path: {
|
|
1467
|
+
/**
|
|
1468
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1469
|
+
*/
|
|
1470
|
+
customerId: string;
|
|
1471
|
+
};
|
|
1472
|
+
query?: {
|
|
1473
|
+
/**
|
|
1474
|
+
* ISO alpha-2; defaults to the customer's own country.
|
|
1475
|
+
*/
|
|
1476
|
+
country?: string;
|
|
1477
|
+
};
|
|
1478
|
+
url: '/api/v1/partner/v1/customers/{customerId}/banks';
|
|
1479
|
+
};
|
|
1480
|
+
export type BankBanksResponses = {
|
|
1481
|
+
200: {
|
|
1482
|
+
success: boolean;
|
|
1483
|
+
data: Array<PartnerBankDto>;
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
export type BankBanksResponse = BankBanksResponses[keyof BankBanksResponses];
|
|
1487
|
+
export type BankVerifyAccountData = {
|
|
1488
|
+
body: VerifyAccountNumberInput;
|
|
1489
|
+
path: {
|
|
1490
|
+
/**
|
|
1491
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1492
|
+
*/
|
|
1493
|
+
customerId: string;
|
|
1494
|
+
};
|
|
1495
|
+
query?: never;
|
|
1496
|
+
url: '/api/v1/partner/v1/customers/{customerId}/bank/verify-account';
|
|
1497
|
+
};
|
|
1498
|
+
export type BankVerifyAccountResponses = {
|
|
1499
|
+
200: {
|
|
1500
|
+
success: boolean;
|
|
1501
|
+
data: PartnerAccountVerificationDto;
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
export type BankVerifyAccountResponse = BankVerifyAccountResponses[keyof BankVerifyAccountResponses];
|
|
1505
|
+
export type BankGetAccountsData = {
|
|
1506
|
+
body?: never;
|
|
1507
|
+
path: {
|
|
1508
|
+
/**
|
|
1509
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1510
|
+
*/
|
|
1511
|
+
customerId: string;
|
|
1512
|
+
};
|
|
1513
|
+
query?: never;
|
|
1514
|
+
url: '/api/v1/partner/v1/customers/{customerId}/accounts';
|
|
1515
|
+
};
|
|
1516
|
+
export type BankGetAccountsResponses = {
|
|
1517
|
+
200: {
|
|
1518
|
+
success: boolean;
|
|
1519
|
+
data: Array<PartnerBankAccountDto>;
|
|
1520
|
+
};
|
|
1521
|
+
};
|
|
1522
|
+
export type BankGetAccountsResponse = BankGetAccountsResponses[keyof BankGetAccountsResponses];
|
|
1523
|
+
export type BankAddAccountData = {
|
|
1524
|
+
body: AddAccountDto;
|
|
1525
|
+
path: {
|
|
1526
|
+
/**
|
|
1527
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1528
|
+
*/
|
|
1529
|
+
customerId: string;
|
|
1530
|
+
};
|
|
1531
|
+
query?: never;
|
|
1532
|
+
url: '/api/v1/partner/v1/customers/{customerId}/accounts';
|
|
1533
|
+
};
|
|
1534
|
+
export type BankAddAccountResponses = {
|
|
1535
|
+
201: {
|
|
1536
|
+
success: boolean;
|
|
1537
|
+
data: PartnerBankAccountDto;
|
|
1538
|
+
};
|
|
1539
|
+
};
|
|
1540
|
+
export type BankAddAccountResponse = BankAddAccountResponses[keyof BankAddAccountResponses];
|
|
1541
|
+
export type BankSetDefaultAccountData = {
|
|
1542
|
+
body?: never;
|
|
1543
|
+
path: {
|
|
1544
|
+
accountId: string;
|
|
1545
|
+
/**
|
|
1546
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1547
|
+
*/
|
|
1548
|
+
customerId: string;
|
|
1549
|
+
};
|
|
1550
|
+
query?: never;
|
|
1551
|
+
url: '/api/v1/partner/v1/customers/{customerId}/accounts/{accountId}/default';
|
|
1552
|
+
};
|
|
1553
|
+
export type BankSetDefaultAccountResponses = {
|
|
1554
|
+
200: {
|
|
1555
|
+
success: boolean;
|
|
1556
|
+
data: PartnerBankAccountDto;
|
|
1557
|
+
};
|
|
1558
|
+
};
|
|
1559
|
+
export type BankSetDefaultAccountResponse = BankSetDefaultAccountResponses[keyof BankSetDefaultAccountResponses];
|
|
1560
|
+
export type BankDeleteAccountData = {
|
|
1561
|
+
body?: never;
|
|
1562
|
+
path: {
|
|
1563
|
+
accountId: string;
|
|
1564
|
+
/**
|
|
1565
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1566
|
+
*/
|
|
1567
|
+
customerId: string;
|
|
1568
|
+
};
|
|
1569
|
+
query?: never;
|
|
1570
|
+
url: '/api/v1/partner/v1/customers/{customerId}/accounts/{accountId}';
|
|
1571
|
+
};
|
|
1572
|
+
export type BankDeleteAccountResponses = {
|
|
1573
|
+
/**
|
|
1574
|
+
* Done; no body.
|
|
1575
|
+
*/
|
|
1576
|
+
204: void;
|
|
1577
|
+
};
|
|
1578
|
+
export type BankDeleteAccountResponse = BankDeleteAccountResponses[keyof BankDeleteAccountResponses];
|
|
1579
|
+
export type ProfileProfileData = {
|
|
1580
|
+
body?: never;
|
|
1581
|
+
path: {
|
|
1582
|
+
/**
|
|
1583
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1584
|
+
*/
|
|
1585
|
+
customerId: string;
|
|
1586
|
+
};
|
|
1587
|
+
query?: never;
|
|
1588
|
+
url: '/api/v1/partner/v1/customers/{customerId}/profile';
|
|
1589
|
+
};
|
|
1590
|
+
export type ProfileProfileResponses = {
|
|
1591
|
+
200: {
|
|
1592
|
+
success: boolean;
|
|
1593
|
+
data: PartnerCustomerDto;
|
|
1594
|
+
};
|
|
1595
|
+
};
|
|
1596
|
+
export type ProfileProfileResponse = ProfileProfileResponses[keyof ProfileProfileResponses];
|
|
1597
|
+
export type ProfileUpdateProfileData = {
|
|
1598
|
+
body: UpdateCustomerProfileDto;
|
|
1599
|
+
path: {
|
|
1600
|
+
/**
|
|
1601
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1602
|
+
*/
|
|
1603
|
+
customerId: string;
|
|
1604
|
+
};
|
|
1605
|
+
query?: never;
|
|
1606
|
+
url: '/api/v1/partner/v1/customers/{customerId}/profile';
|
|
1607
|
+
};
|
|
1608
|
+
export type ProfileUpdateProfileResponses = {
|
|
1609
|
+
200: {
|
|
1610
|
+
success: boolean;
|
|
1611
|
+
data: PartnerCustomerDto;
|
|
1612
|
+
};
|
|
1613
|
+
};
|
|
1614
|
+
export type ProfileUpdateProfileResponse = ProfileUpdateProfileResponses[keyof ProfileUpdateProfileResponses];
|
|
1615
|
+
export type ProfileChangePasswordData = {
|
|
1616
|
+
body: ResetPassword;
|
|
1617
|
+
path: {
|
|
1618
|
+
/**
|
|
1619
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1620
|
+
*/
|
|
1621
|
+
customerId: string;
|
|
1622
|
+
};
|
|
1623
|
+
query?: never;
|
|
1624
|
+
url: '/api/v1/partner/v1/customers/{customerId}/change-password';
|
|
1625
|
+
};
|
|
1626
|
+
export type ProfileChangePasswordResponses = {
|
|
1627
|
+
/**
|
|
1628
|
+
* Password changed.
|
|
1629
|
+
*/
|
|
1630
|
+
204: void;
|
|
1631
|
+
};
|
|
1632
|
+
export type ProfileChangePasswordResponse = ProfileChangePasswordResponses[keyof ProfileChangePasswordResponses];
|
|
1633
|
+
export type ProfileGetSettlementModeData = {
|
|
1634
|
+
body?: never;
|
|
1635
|
+
path: {
|
|
1636
|
+
/**
|
|
1637
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1638
|
+
*/
|
|
1639
|
+
customerId: string;
|
|
1640
|
+
};
|
|
1641
|
+
query?: never;
|
|
1642
|
+
url: '/api/v1/partner/v1/customers/{customerId}/settlement-mode';
|
|
1643
|
+
};
|
|
1644
|
+
export type ProfileGetSettlementModeResponses = {
|
|
1645
|
+
200: {
|
|
1646
|
+
success: boolean;
|
|
1647
|
+
data: PartnerSettlementModeDto;
|
|
1648
|
+
};
|
|
1649
|
+
};
|
|
1650
|
+
export type ProfileGetSettlementModeResponse = ProfileGetSettlementModeResponses[keyof ProfileGetSettlementModeResponses];
|
|
1651
|
+
export type ProfileSetSettlementModeData = {
|
|
1652
|
+
body: SettlementModeDto;
|
|
1653
|
+
path: {
|
|
1654
|
+
/**
|
|
1655
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1656
|
+
*/
|
|
1657
|
+
customerId: string;
|
|
1658
|
+
};
|
|
1659
|
+
query?: never;
|
|
1660
|
+
url: '/api/v1/partner/v1/customers/{customerId}/settlement-mode';
|
|
1661
|
+
};
|
|
1662
|
+
export type ProfileSetSettlementModeResponses = {
|
|
1663
|
+
200: {
|
|
1664
|
+
success: boolean;
|
|
1665
|
+
data: PartnerSettlementModeDto;
|
|
1666
|
+
};
|
|
1667
|
+
};
|
|
1668
|
+
export type ProfileSetSettlementModeResponse = ProfileSetSettlementModeResponses[keyof ProfileSetSettlementModeResponses];
|
|
1669
|
+
export type ProfileWithdrawalsData = {
|
|
1670
|
+
body?: never;
|
|
1671
|
+
path: {
|
|
1672
|
+
/**
|
|
1673
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1674
|
+
*/
|
|
1675
|
+
customerId: string;
|
|
1676
|
+
};
|
|
1677
|
+
query?: {
|
|
1678
|
+
/**
|
|
1679
|
+
* Page size.
|
|
1680
|
+
*/
|
|
1681
|
+
limit?: number;
|
|
1682
|
+
/**
|
|
1683
|
+
* Opaque; the previous page's meta.nextCursor. Omit for the first page.
|
|
1684
|
+
*/
|
|
1685
|
+
cursor?: string;
|
|
1686
|
+
};
|
|
1687
|
+
url: '/api/v1/partner/v1/customers/{customerId}/withdrawals';
|
|
1688
|
+
};
|
|
1689
|
+
export type ProfileWithdrawalsResponses = {
|
|
1690
|
+
200: {
|
|
1691
|
+
success: boolean;
|
|
1692
|
+
data: Array<PartnerWithdrawalDto>;
|
|
1693
|
+
meta: {
|
|
1694
|
+
/**
|
|
1695
|
+
* Pass back as ?cursor to fetch the next page; null on the last page.
|
|
1696
|
+
*/
|
|
1697
|
+
nextCursor: string | null;
|
|
1698
|
+
};
|
|
1699
|
+
};
|
|
1700
|
+
};
|
|
1701
|
+
export type ProfileWithdrawalsResponse = ProfileWithdrawalsResponses[keyof ProfileWithdrawalsResponses];
|
|
1702
|
+
export type ReceivingCurrenciesData = {
|
|
1703
|
+
body?: never;
|
|
1704
|
+
path: {
|
|
1705
|
+
/**
|
|
1706
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1707
|
+
*/
|
|
1708
|
+
customerId: string;
|
|
1709
|
+
};
|
|
1710
|
+
query?: never;
|
|
1711
|
+
url: '/api/v1/partner/v1/customers/{customerId}/receiving-accounts/currencies';
|
|
1712
|
+
};
|
|
1713
|
+
export type ReceivingCurrenciesResponses = {
|
|
1714
|
+
200: {
|
|
1715
|
+
success: boolean;
|
|
1716
|
+
data: Array<string>;
|
|
1717
|
+
};
|
|
1718
|
+
};
|
|
1719
|
+
export type ReceivingCurrenciesResponse = ReceivingCurrenciesResponses[keyof ReceivingCurrenciesResponses];
|
|
1720
|
+
export type ReceivingListData = {
|
|
1721
|
+
body?: never;
|
|
1722
|
+
path: {
|
|
1723
|
+
/**
|
|
1724
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1725
|
+
*/
|
|
1726
|
+
customerId: string;
|
|
1727
|
+
};
|
|
1728
|
+
query?: never;
|
|
1729
|
+
url: '/api/v1/partner/v1/customers/{customerId}/receiving-accounts';
|
|
1730
|
+
};
|
|
1731
|
+
export type ReceivingListResponses = {
|
|
1732
|
+
200: {
|
|
1733
|
+
success: boolean;
|
|
1734
|
+
data: Array<PartnerReceivingAccountDto>;
|
|
1735
|
+
};
|
|
1736
|
+
};
|
|
1737
|
+
export type ReceivingListResponse = ReceivingListResponses[keyof ReceivingListResponses];
|
|
1738
|
+
export type ReceivingActivityData = {
|
|
1739
|
+
body?: never;
|
|
1740
|
+
path: {
|
|
1741
|
+
/**
|
|
1742
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1743
|
+
*/
|
|
1744
|
+
customerId: string;
|
|
1745
|
+
};
|
|
1746
|
+
query?: {
|
|
1747
|
+
/**
|
|
1748
|
+
* Page size.
|
|
1749
|
+
*/
|
|
1750
|
+
limit?: number;
|
|
1751
|
+
/**
|
|
1752
|
+
* Opaque; the previous page's meta.nextCursor. Omit for the first page.
|
|
1753
|
+
*/
|
|
1754
|
+
cursor?: string;
|
|
1755
|
+
};
|
|
1756
|
+
url: '/api/v1/partner/v1/customers/{customerId}/receiving-accounts/activity';
|
|
1757
|
+
};
|
|
1758
|
+
export type ReceivingActivityResponses = {
|
|
1759
|
+
200: {
|
|
1760
|
+
success: boolean;
|
|
1761
|
+
data: Array<PartnerReceivingActivityDto>;
|
|
1762
|
+
meta: {
|
|
1763
|
+
/**
|
|
1764
|
+
* Pass back as ?cursor to fetch the next page; null on the last page.
|
|
1765
|
+
*/
|
|
1766
|
+
nextCursor: string | null;
|
|
1767
|
+
};
|
|
1768
|
+
};
|
|
1769
|
+
};
|
|
1770
|
+
export type ReceivingActivityResponse = ReceivingActivityResponses[keyof ReceivingActivityResponses];
|
|
1771
|
+
export type ReceivingOpenData = {
|
|
1772
|
+
body?: never;
|
|
1773
|
+
path: {
|
|
1774
|
+
currency: string;
|
|
1775
|
+
/**
|
|
1776
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1777
|
+
*/
|
|
1778
|
+
customerId: string;
|
|
1779
|
+
};
|
|
1780
|
+
query?: never;
|
|
1781
|
+
url: '/api/v1/partner/v1/customers/{customerId}/receiving-accounts/{currency}';
|
|
1782
|
+
};
|
|
1783
|
+
export type ReceivingOpenResponses = {
|
|
1784
|
+
201: {
|
|
1785
|
+
success: boolean;
|
|
1786
|
+
data: PartnerReceivingAccountDto;
|
|
1787
|
+
};
|
|
1788
|
+
};
|
|
1789
|
+
export type ReceivingOpenResponse = ReceivingOpenResponses[keyof ReceivingOpenResponses];
|
|
1790
|
+
export type ReceivingRefreshData = {
|
|
1791
|
+
body?: never;
|
|
1792
|
+
path: {
|
|
1793
|
+
currency: string;
|
|
1794
|
+
/**
|
|
1795
|
+
* Id of one of your customers, as returned by customers.register.
|
|
1796
|
+
*/
|
|
1797
|
+
customerId: string;
|
|
1798
|
+
};
|
|
1799
|
+
query?: never;
|
|
1800
|
+
url: '/api/v1/partner/v1/customers/{customerId}/receiving-accounts/{currency}/refresh';
|
|
1801
|
+
};
|
|
1802
|
+
export type ReceivingRefreshResponses = {
|
|
1803
|
+
200: {
|
|
1804
|
+
success: boolean;
|
|
1805
|
+
data: PartnerReceivingAccountDto;
|
|
1806
|
+
};
|
|
1807
|
+
};
|
|
1808
|
+
export type ReceivingRefreshResponse = ReceivingRefreshResponses[keyof ReceivingRefreshResponses];
|
|
1809
|
+
export type CountriesListData = {
|
|
1810
|
+
body?: never;
|
|
1811
|
+
path?: never;
|
|
1812
|
+
query?: never;
|
|
1813
|
+
url: '/api/v1/partner/v1/countries';
|
|
1814
|
+
};
|
|
1815
|
+
export type CountriesListResponses = {
|
|
1816
|
+
200: {
|
|
1817
|
+
success: boolean;
|
|
1818
|
+
data: Array<PartnerCountryDto>;
|
|
1819
|
+
};
|
|
1820
|
+
};
|
|
1821
|
+
export type CountriesListResponse = CountriesListResponses[keyof CountriesListResponses];
|
|
1822
|
+
export type FeaturesListData = {
|
|
1823
|
+
body?: never;
|
|
1824
|
+
path?: never;
|
|
1825
|
+
query?: never;
|
|
1826
|
+
url: '/api/v1/partner/v1/features';
|
|
1827
|
+
};
|
|
1828
|
+
export type FeaturesListResponses = {
|
|
1829
|
+
200: {
|
|
1830
|
+
success: boolean;
|
|
1831
|
+
data: Array<PartnerFeatureDto>;
|
|
1832
|
+
};
|
|
1833
|
+
};
|
|
1834
|
+
export type FeaturesListResponse = FeaturesListResponses[keyof FeaturesListResponses];
|
|
1835
|
+
export type WebhookConfigData = {
|
|
1836
|
+
body?: never;
|
|
1837
|
+
path?: never;
|
|
1838
|
+
query?: never;
|
|
1839
|
+
url: '/api/v1/partner/v1/webhook';
|
|
1840
|
+
};
|
|
1841
|
+
export type WebhookConfigResponses = {
|
|
1842
|
+
200: {
|
|
1843
|
+
success: boolean;
|
|
1844
|
+
data: PartnerWebhookConfigDto;
|
|
1845
|
+
};
|
|
1846
|
+
};
|
|
1847
|
+
export type WebhookConfigResponse = WebhookConfigResponses[keyof WebhookConfigResponses];
|
|
1848
|
+
export type WebhookSetUrlData = {
|
|
1849
|
+
body: SetWebhookUrlDto;
|
|
1850
|
+
path?: never;
|
|
1851
|
+
query?: never;
|
|
1852
|
+
url: '/api/v1/partner/v1/webhook';
|
|
1853
|
+
};
|
|
1854
|
+
export type WebhookSetUrlResponses = {
|
|
1855
|
+
200: {
|
|
1856
|
+
success: boolean;
|
|
1857
|
+
data: PartnerWebhookSecretDto;
|
|
1858
|
+
};
|
|
1859
|
+
};
|
|
1860
|
+
export type WebhookSetUrlResponse = WebhookSetUrlResponses[keyof WebhookSetUrlResponses];
|
|
1861
|
+
export type WebhookRotateSecretData = {
|
|
1862
|
+
body?: never;
|
|
1863
|
+
path?: never;
|
|
1864
|
+
query?: never;
|
|
1865
|
+
url: '/api/v1/partner/v1/webhook/rotate-secret';
|
|
1866
|
+
};
|
|
1867
|
+
export type WebhookRotateSecretResponses = {
|
|
1868
|
+
200: {
|
|
1869
|
+
success: boolean;
|
|
1870
|
+
data: PartnerWebhookSecretDto;
|
|
1871
|
+
};
|
|
1872
|
+
};
|
|
1873
|
+
export type WebhookRotateSecretResponse = WebhookRotateSecretResponses[keyof WebhookRotateSecretResponses];
|
|
1874
|
+
export type WebhookDeliveriesData = {
|
|
1875
|
+
body?: never;
|
|
1876
|
+
path?: never;
|
|
1877
|
+
query?: {
|
|
1878
|
+
/**
|
|
1879
|
+
* Page size.
|
|
1880
|
+
*/
|
|
1881
|
+
limit?: number;
|
|
1882
|
+
/**
|
|
1883
|
+
* Opaque; the previous page's meta.nextCursor. Omit for the first page.
|
|
1884
|
+
*/
|
|
1885
|
+
cursor?: string;
|
|
1886
|
+
/**
|
|
1887
|
+
* Only deliveries in this state.
|
|
1888
|
+
*/
|
|
1889
|
+
status?: WebhookDeliveryStatus;
|
|
1890
|
+
};
|
|
1891
|
+
url: '/api/v1/partner/v1/webhook/deliveries';
|
|
1892
|
+
};
|
|
1893
|
+
export type WebhookDeliveriesResponses = {
|
|
1894
|
+
200: {
|
|
1895
|
+
success: boolean;
|
|
1896
|
+
data: Array<PartnerWebhookDeliveryDto>;
|
|
1897
|
+
meta: {
|
|
1898
|
+
/**
|
|
1899
|
+
* Pass back as ?cursor to fetch the next page; null on the last page.
|
|
1900
|
+
*/
|
|
1901
|
+
nextCursor: string | null;
|
|
1902
|
+
};
|
|
1903
|
+
};
|
|
1904
|
+
};
|
|
1905
|
+
export type WebhookDeliveriesResponse = WebhookDeliveriesResponses[keyof WebhookDeliveriesResponses];
|
|
1906
|
+
export type WebhookDeliveryData = {
|
|
1907
|
+
body?: never;
|
|
1908
|
+
path: {
|
|
1909
|
+
id: string;
|
|
1910
|
+
};
|
|
1911
|
+
query?: never;
|
|
1912
|
+
url: '/api/v1/partner/v1/webhook/deliveries/{id}';
|
|
1913
|
+
};
|
|
1914
|
+
export type WebhookDeliveryResponses = {
|
|
1915
|
+
200: {
|
|
1916
|
+
success: boolean;
|
|
1917
|
+
data: PartnerWebhookDeliveryDetailDto;
|
|
1918
|
+
};
|
|
1919
|
+
};
|
|
1920
|
+
export type WebhookDeliveryResponse = WebhookDeliveryResponses[keyof WebhookDeliveryResponses];
|
|
1921
|
+
export type WebhookReplayData = {
|
|
1922
|
+
body?: never;
|
|
1923
|
+
path: {
|
|
1924
|
+
id: string;
|
|
1925
|
+
};
|
|
1926
|
+
query?: never;
|
|
1927
|
+
url: '/api/v1/partner/v1/webhook/deliveries/{id}/replay';
|
|
1928
|
+
};
|
|
1929
|
+
export type WebhookReplayResponses = {
|
|
1930
|
+
200: {
|
|
1931
|
+
success: boolean;
|
|
1932
|
+
data: PartnerWebhookDeliveryDto;
|
|
1933
|
+
};
|
|
1934
|
+
};
|
|
1935
|
+
export type WebhookReplayResponse = WebhookReplayResponses[keyof WebhookReplayResponses];
|