squarefi-bff-api-module 1.36.95 → 1.36.97
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/dist/api/frontend.d.ts +28 -0
- package/dist/api/frontend.js +68 -0
- package/dist/api/types/autogen/apiV1External.types.d.ts +214 -10
- package/dist/api/types/autogen/apiV1Frontend.types.d.ts +2569 -301
- package/dist/api/types/autogen/apiV1Legacy.types.d.ts +6 -3
- package/dist/api/types/autogen/apiV1Tenant.types.d.ts +55 -18
- package/dist/api/types/autogen/apiV2.types.d.ts +8 -6
- package/dist/api/types/types.d.ts +143 -0
- package/dist/constants.d.ts +3 -1
- package/dist/constants.js +2 -0
- package/package.json +1 -1
package/dist/api/frontend.d.ts
CHANGED
|
@@ -76,6 +76,34 @@ export declare const frontend: {
|
|
|
76
76
|
submit: ({ wallet_id, rail_id, }: API.Frontend.KycRails.Submit.Request) => Promise<API.Frontend.KycRails.Submit.Response>;
|
|
77
77
|
confirmTerms: ({ wallet_id, rail_id, }: API.Frontend.KycRails.ConfirmTerms.Request) => Promise<API.Frontend.KycRails.ConfirmTerms.Response>;
|
|
78
78
|
};
|
|
79
|
+
kycForms: {
|
|
80
|
+
entities: {
|
|
81
|
+
create: (data: API.Frontend.KycForms.Entities.Create.Request) => Promise<API.Frontend.KycForms.Entities.Create.Response>;
|
|
82
|
+
list: () => Promise<API.Frontend.KycForms.Entities.List.Response>;
|
|
83
|
+
get: ({ entity_id, }: API.Frontend.KycForms.Entities.Get.Request) => Promise<API.Frontend.KycForms.Entities.Get.Response>;
|
|
84
|
+
overview: ({ entity_id, ...params }: API.Frontend.KycForms.Entities.Overview.Request) => Promise<API.Frontend.KycForms.Entities.Overview.Response>;
|
|
85
|
+
targets: ({ entity_id, ...params }: API.Frontend.KycForms.Entities.Targets.Request) => Promise<API.Frontend.KycForms.Entities.Targets.Response>;
|
|
86
|
+
};
|
|
87
|
+
targets: {
|
|
88
|
+
list: (params: API.Frontend.KycForms.Targets.List.Request) => Promise<API.Frontend.KycForms.Targets.List.Response>;
|
|
89
|
+
};
|
|
90
|
+
forms: {
|
|
91
|
+
get: ({ entity_id, ...params }: API.Frontend.KycForms.Forms.Get.Request) => Promise<API.Frontend.KycForms.Forms.Get.Response>;
|
|
92
|
+
saveDraft: ({ entity_id, rails, programs, wallet_id, locale, ...data }: API.Frontend.KycForms.Forms.SaveDraft.Request) => Promise<API.Frontend.KycForms.Forms.SaveDraft.Response>;
|
|
93
|
+
upload: ({ entity_id, rails, programs, wallet_id, locale, field, file, signal, timeout, onUploadProgress, }: API.Frontend.KycForms.Forms.Upload.Request) => Promise<API.Frontend.KycForms.Forms.Upload.Response>;
|
|
94
|
+
removeUpload: ({ entity_id, upload_id, ...params }: API.Frontend.KycForms.Forms.RemoveUpload.Request) => Promise<API.Frontend.KycForms.Forms.RemoveUpload.Response>;
|
|
95
|
+
submit: ({ entity_id, rails, programs, wallet_id, locale, ...data }: API.Frontend.KycForms.Forms.Submit.Request) => Promise<API.Frontend.KycForms.Forms.Submit.Response>;
|
|
96
|
+
};
|
|
97
|
+
verification: {
|
|
98
|
+
session: ({ entity_id, }: API.Frontend.KycForms.Verification.Session.Request) => Promise<API.Frontend.KycForms.Verification.Session.Response>;
|
|
99
|
+
owners: {
|
|
100
|
+
link: ({ entity_id, owner_id, }: API.Frontend.KycForms.Verification.Owners.Link.Request) => Promise<API.Frontend.KycForms.Verification.Owners.Link.Response>;
|
|
101
|
+
session: ({ entity_id, owner_id, }: API.Frontend.KycForms.Verification.Owners.Session.Request) => Promise<API.Frontend.KycForms.Verification.Owners.Session.Response>;
|
|
102
|
+
document: ({ entity_id, owner_id, file, side, type, country, signal, timeout, onUploadProgress, }: API.Frontend.KycForms.Verification.Owners.Document.Request) => Promise<API.Frontend.KycForms.Verification.Owners.Document.Response>;
|
|
103
|
+
invite: ({ entity_id, }: API.Frontend.KycForms.Verification.Owners.Invite.Request) => Promise<API.Frontend.KycForms.Verification.Owners.Invite.Response>;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
};
|
|
79
107
|
reference: {
|
|
80
108
|
exchangeRates: {
|
|
81
109
|
list: (params?: API.Frontend.Reference.ExchangeRates.List.Request) => Promise<API.Frontend.Reference.ExchangeRates.List.Response>;
|
package/dist/api/frontend.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { apiClientV1, apiClientV1Frontend } from '../utils/apiClientFactory';
|
|
2
2
|
import { makeSecureRequest } from '../utils/encrypt';
|
|
3
|
+
// `rails` and `programs` go as repeated keys (`rails=a&rails=b`); a comma-separated string is not a list.
|
|
4
|
+
const KYC_FORMS_ARRAY_PARAMS = { indexes: null };
|
|
3
5
|
export const frontend = {
|
|
4
6
|
access: {
|
|
5
7
|
keys: {
|
|
@@ -152,6 +154,72 @@ export const frontend = {
|
|
|
152
154
|
submit: ({ wallet_id, rail_id, }) => apiClientV1Frontend.postRequest(`/frontend/wallets/${wallet_id}/kyc-rails/${rail_id}`),
|
|
153
155
|
confirmTerms: ({ wallet_id, rail_id, }) => apiClientV1Frontend.postRequest(`/frontend/wallets/${wallet_id}/kyc-rails/${rail_id}/terms-and-conditions`),
|
|
154
156
|
},
|
|
157
|
+
// KYC forms (CORE). Personal entity creation is idempotent, a business entity is new on every call. A form is
|
|
158
|
+
// picked by `rails` / `programs` (none — the base form); `wallet_id` is required with `programs`.
|
|
159
|
+
kycForms: {
|
|
160
|
+
entities: {
|
|
161
|
+
create: (data) => apiClientV1Frontend.postRequest('/frontend/kyc/entities', {
|
|
162
|
+
data,
|
|
163
|
+
}),
|
|
164
|
+
list: () => apiClientV1Frontend.getRequest('/frontend/kyc/entities'),
|
|
165
|
+
get: ({ entity_id, }) => apiClientV1Frontend.getRequest(`/frontend/kyc/entities/${entity_id}`),
|
|
166
|
+
overview: ({ entity_id, ...params }) => apiClientV1Frontend.getRequest(`/frontend/kyc/entities/${entity_id}/overview`, { params }),
|
|
167
|
+
targets: ({ entity_id, ...params }) => apiClientV1Frontend.getRequest(`/frontend/kyc/entities/${entity_id}/targets`, { params }),
|
|
168
|
+
},
|
|
169
|
+
targets: {
|
|
170
|
+
list: (params) => apiClientV1Frontend.getRequest('/frontend/kyc/targets', {
|
|
171
|
+
params,
|
|
172
|
+
}),
|
|
173
|
+
},
|
|
174
|
+
forms: {
|
|
175
|
+
get: ({ entity_id, ...params }) => apiClientV1Frontend.getRequest(`/frontend/kyc/entities/${entity_id}/forms`, { params, paramsSerializer: KYC_FORMS_ARRAY_PARAMS }),
|
|
176
|
+
// The draft is replaced as a whole: send every open visible field, `null` clears one. Files go through `upload`.
|
|
177
|
+
saveDraft: ({ entity_id, rails, programs, wallet_id, locale, ...data }) => apiClientV1Frontend.putRequest(`/frontend/kyc/entities/${entity_id}/forms/draft`, { data, params: { rails, programs, wallet_id, locale }, paramsSerializer: KYC_FORMS_ARRAY_PARAMS }),
|
|
178
|
+
// One file per request into the file field `field`; Content-Type is left to the browser (FormData).
|
|
179
|
+
upload: ({ entity_id, rails, programs, wallet_id, locale, field, file, signal, timeout, onUploadProgress, }) => {
|
|
180
|
+
const formData = new FormData();
|
|
181
|
+
formData.append('field', field);
|
|
182
|
+
formData.append('file', file);
|
|
183
|
+
return apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/forms/uploads`, {
|
|
184
|
+
data: formData,
|
|
185
|
+
params: { rails, programs, wallet_id, locale },
|
|
186
|
+
paramsSerializer: KYC_FORMS_ARRAY_PARAMS,
|
|
187
|
+
signal,
|
|
188
|
+
timeout,
|
|
189
|
+
onUploadProgress,
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
// Only a file still in the draft (`saved: false`); a saved KYC document is never removed here.
|
|
193
|
+
removeUpload: ({ entity_id, upload_id, ...params }) => apiClientV1Frontend.deleteRequest(`/frontend/kyc/entities/${entity_id}/forms/uploads/${upload_id}`, {
|
|
194
|
+
params,
|
|
195
|
+
paramsSerializer: KYC_FORMS_ARRAY_PARAMS,
|
|
196
|
+
}),
|
|
197
|
+
// `accepted_terms`: all document ids of `form.terms` (`[]` if none); missing ones come back in `details.terms`.
|
|
198
|
+
submit: ({ entity_id, rails, programs, wallet_id, locale, ...data }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/forms/submit`, { data, params: { rails, programs, wallet_id, locale }, paramsSerializer: KYC_FORMS_ARRAY_PARAMS }),
|
|
199
|
+
},
|
|
200
|
+
verification: {
|
|
201
|
+
// A widget token of the identity provider for the owner of the entity (the filler of a business).
|
|
202
|
+
session: ({ entity_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/session`),
|
|
203
|
+
owners: {
|
|
204
|
+
link: ({ entity_id, owner_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/link`),
|
|
205
|
+
session: ({ entity_id, owner_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/session`),
|
|
206
|
+
// One JPEG or PNG photo per request; `back` only for a document type other than a passport.
|
|
207
|
+
document: ({ entity_id, owner_id, file, side, type, country, signal, timeout, onUploadProgress, }) => {
|
|
208
|
+
const formData = new FormData();
|
|
209
|
+
formData.append('file', file);
|
|
210
|
+
formData.append('side', side);
|
|
211
|
+
if (type)
|
|
212
|
+
formData.append('type', type);
|
|
213
|
+
if (country)
|
|
214
|
+
formData.append('country', country);
|
|
215
|
+
return apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/document`, { data: formData, signal, timeout, onUploadProgress });
|
|
216
|
+
},
|
|
217
|
+
// The provider emails every owner still to pass the check; taken once in 10 minutes
|
|
218
|
+
// (409 KYC_OWNER_INVITES_TOO_SOON, `verification.invites.next_at` of the overview).
|
|
219
|
+
invite: ({ entity_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/invite`),
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
},
|
|
155
223
|
reference: {
|
|
156
224
|
// Frontend twin of `exchange.byOrderType.*` (legacy `GET /exchange/`): the same tenant pairs, but paged in
|
|
157
225
|
// memory — 50 per page by default, 500 at most, in no particular order — and behind the bearer session.
|
|
@@ -525,7 +525,10 @@ export interface paths {
|
|
|
525
525
|
requestBody: {
|
|
526
526
|
content: {
|
|
527
527
|
"application/json": {
|
|
528
|
-
/**
|
|
528
|
+
/**
|
|
529
|
+
* @description Legal name. Latin characters only (printable ASCII - letters A-Z without diacritics, digits, spaces, punctuation); anything else is refused with `400 VALIDATION_ERROR`. Transliterate other scripts before sending.
|
|
530
|
+
* @example Acme Corp.
|
|
531
|
+
*/
|
|
529
532
|
name: string;
|
|
530
533
|
/**
|
|
531
534
|
* @example BUSINESS
|
|
@@ -572,7 +575,7 @@ export interface paths {
|
|
|
572
575
|
};
|
|
573
576
|
};
|
|
574
577
|
};
|
|
575
|
-
/** @description
|
|
578
|
+
/** @description `VALIDATION_ERROR`: `name` or `type` missing or invalid, or `name` has characters outside printable ASCII (the message names the field) */
|
|
576
579
|
400: {
|
|
577
580
|
headers: {
|
|
578
581
|
[name: string]: unknown;
|
|
@@ -805,7 +808,7 @@ export interface paths {
|
|
|
805
808
|
* @enum {string}
|
|
806
809
|
*/
|
|
807
810
|
type: "ACH" | "RTP" | "SWIFT" | "SEPA" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CHAPS" | "FPS" | "FEDWIRE" | "INTERNAL";
|
|
808
|
-
/** @description User-friendly alias for this destination */
|
|
811
|
+
/** @description User-friendly alias for this destination. Latin characters only (printable ASCII - letters A-Z without diacritics, digits, spaces, punctuation); anything else is refused with `400 VALIDATION_ERROR`. */
|
|
809
812
|
nickname?: string;
|
|
810
813
|
/** @description Required for banking types (ACH, RTP, SWIFT, SEPA, CHAPS, FPS, FEDWIRE). What each rail needs:
|
|
811
814
|
*
|
|
@@ -813,10 +816,10 @@ export interface paths {
|
|
|
813
816
|
* | --- | --- | --- |
|
|
814
817
|
* | ACH, RTP, FEDWIRE | `routing_number`, `account_number` | ABA routing number (9 digits, valid check digit); account 4–17 letters or digits |
|
|
815
818
|
* | SEPA | `iban` | IBAN of a SEPA-zone country; length, account format and check digits per country; `swift_bic` optional |
|
|
816
|
-
* | SWIFT | `swift_bic`, `account_number` (or `iban`) | valid SWIFT/BIC (not a test BIC); an IBAN-shaped account must be a valid IBAN; for a US bank `routing_number` is optional and must be valid when given |
|
|
819
|
+
* | SWIFT | `swift_bic`, `account_number` (or `iban`) | valid SWIFT/BIC (not a test BIC); an IBAN-shaped account must be a valid IBAN; for a US bank `routing_number` is optional and must be valid when given; `intermediary_bic` optional, a valid SWIFT/BIC when given |
|
|
817
820
|
* | CHAPS, FPS | `sort_code`, `account_number` | UK: 6-digit sort code and 8-digit account; FPS in HKD: 3-digit bank clearing code |
|
|
818
821
|
*
|
|
819
|
-
* Every problem is returned at once in `error.details.issues`. `POST /api/counterparty/destinations/validate` checks a payload without saving it.
|
|
822
|
+
* `intermediary_bic` is refused on every rail but SWIFT. Every problem is returned at once in `error.details.issues`. `POST /api/counterparty/destinations/validate` checks a payload without saving it.
|
|
820
823
|
* */
|
|
821
824
|
banking_data?: {
|
|
822
825
|
/** @description Bank account number (on SWIFT, the IBAN where the bank's country uses one) */
|
|
@@ -827,6 +830,8 @@ export interface paths {
|
|
|
827
830
|
bank_name?: string;
|
|
828
831
|
/** @description SWIFT/BIC code */
|
|
829
832
|
swift_bic?: string;
|
|
833
|
+
/** @description BIC of the intermediary (correspondent) bank, SWIFT payment method only; 8 or 11 characters, ISO 9362 */
|
|
834
|
+
intermediary_bic?: string | null;
|
|
830
835
|
/** @description IBAN */
|
|
831
836
|
iban?: string;
|
|
832
837
|
/** @description Sort code (6 digits, UK banking) */
|
|
@@ -893,7 +898,7 @@ export interface paths {
|
|
|
893
898
|
};
|
|
894
899
|
};
|
|
895
900
|
};
|
|
896
|
-
/** @description Validation error. Bank-details problems come as `VALIDATION_ERROR` with every problem in `error.details.issues` (`field`, `code`, `message`, optional `country` / `detected`).
|
|
901
|
+
/** @description Validation error. Bank-details problems come as `VALIDATION_ERROR` with every problem in `error.details.issues` (`field`, `code`, `message`, optional `country` / `detected`). A `nickname` with characters outside printable ASCII is refused with `VALIDATION_ERROR` too; the message names the field.
|
|
897
902
|
*
|
|
898
903
|
* **Until 2026-10-12 00:00 UTC** the stricter bank-details rules (per-country IBAN checks, SEPA-zone IBAN, BIC format, ABA check digit, account formats) are reported by the validation endpoint but do not refuse this request; from then on they do.
|
|
899
904
|
* */
|
|
@@ -1023,7 +1028,10 @@ export interface paths {
|
|
|
1023
1028
|
requestBody: {
|
|
1024
1029
|
content: {
|
|
1025
1030
|
"application/json": {
|
|
1026
|
-
/**
|
|
1031
|
+
/**
|
|
1032
|
+
* @description User-friendly alias for this destination. Latin characters only (printable ASCII - letters A-Z without diacritics, digits, spaces, punctuation); anything else is refused with `400 VALIDATION_ERROR`.
|
|
1033
|
+
* @example Acme primary
|
|
1034
|
+
*/
|
|
1027
1035
|
nickname?: string;
|
|
1028
1036
|
};
|
|
1029
1037
|
};
|
|
@@ -1044,12 +1052,14 @@ export interface paths {
|
|
|
1044
1052
|
};
|
|
1045
1053
|
};
|
|
1046
1054
|
};
|
|
1047
|
-
/** @description
|
|
1055
|
+
/** @description `VALIDATION_ERROR`: no updatable field, or `nickname` has characters outside printable ASCII */
|
|
1048
1056
|
400: {
|
|
1049
1057
|
headers: {
|
|
1050
1058
|
[name: string]: unknown;
|
|
1051
1059
|
};
|
|
1052
|
-
content
|
|
1060
|
+
content: {
|
|
1061
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
1062
|
+
};
|
|
1053
1063
|
};
|
|
1054
1064
|
/** @description Not found */
|
|
1055
1065
|
404: {
|
|
@@ -3234,6 +3244,114 @@ export interface paths {
|
|
|
3234
3244
|
patch?: never;
|
|
3235
3245
|
trace?: never;
|
|
3236
3246
|
};
|
|
3247
|
+
"/api/issuing/cards/{card_id}/3ds-challenges/{challenge_id}/respond": {
|
|
3248
|
+
parameters: {
|
|
3249
|
+
query?: never;
|
|
3250
|
+
header?: never;
|
|
3251
|
+
path?: never;
|
|
3252
|
+
cookie?: never;
|
|
3253
|
+
};
|
|
3254
|
+
get?: never;
|
|
3255
|
+
put?: never;
|
|
3256
|
+
/**
|
|
3257
|
+
* Approve or reject a purchase held for 3DS
|
|
3258
|
+
* @description Answers an out-of-band 3DS challenge announced by the `CARD_3DS_CHALLENGE` / `CREATED`
|
|
3259
|
+
* webhook event. Instead of an SMS code the cardholder confirms the online purchase in your
|
|
3260
|
+
* app (biometrics, PIN or any step-up you choose) and you send the verdict here before
|
|
3261
|
+
* `expires_at` (about 5 minutes). No code is generated or checked.
|
|
3262
|
+
*
|
|
3263
|
+
* On approve the purchase continues to authorization and the usual card transaction events
|
|
3264
|
+
* follow. On reject, or when nobody answers in time, the purchase fails and no transaction
|
|
3265
|
+
* is created.
|
|
3266
|
+
*
|
|
3267
|
+
* **Authentication**: x-api-key header required
|
|
3268
|
+
*
|
|
3269
|
+
* **Access Control**: User must have access to the card
|
|
3270
|
+
*
|
|
3271
|
+
*/
|
|
3272
|
+
post: {
|
|
3273
|
+
parameters: {
|
|
3274
|
+
query?: never;
|
|
3275
|
+
header?: never;
|
|
3276
|
+
path: {
|
|
3277
|
+
card_id: string;
|
|
3278
|
+
/** @description `data.challenge_id` of the `CARD_3DS_CHALLENGE` event */
|
|
3279
|
+
challenge_id: string;
|
|
3280
|
+
};
|
|
3281
|
+
cookie?: never;
|
|
3282
|
+
};
|
|
3283
|
+
requestBody: {
|
|
3284
|
+
content: {
|
|
3285
|
+
"application/json": {
|
|
3286
|
+
/** @description true lets the purchase through, false declines it */
|
|
3287
|
+
approve: boolean;
|
|
3288
|
+
};
|
|
3289
|
+
};
|
|
3290
|
+
};
|
|
3291
|
+
responses: {
|
|
3292
|
+
/** @description Answer accepted */
|
|
3293
|
+
200: {
|
|
3294
|
+
headers: {
|
|
3295
|
+
[name: string]: unknown;
|
|
3296
|
+
};
|
|
3297
|
+
content: {
|
|
3298
|
+
"application/json": {
|
|
3299
|
+
/** @example true */
|
|
3300
|
+
success?: boolean;
|
|
3301
|
+
data?: {
|
|
3302
|
+
challenge_id?: string;
|
|
3303
|
+
/** @enum {string} */
|
|
3304
|
+
status?: "APPROVED" | "REJECTED";
|
|
3305
|
+
};
|
|
3306
|
+
/** @example Purchase approved */
|
|
3307
|
+
message?: string;
|
|
3308
|
+
};
|
|
3309
|
+
};
|
|
3310
|
+
};
|
|
3311
|
+
/** @description `VALIDATION_ERROR` — `approve` is missing or not a boolean */
|
|
3312
|
+
400: {
|
|
3313
|
+
headers: {
|
|
3314
|
+
[name: string]: unknown;
|
|
3315
|
+
};
|
|
3316
|
+
content: {
|
|
3317
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
3318
|
+
};
|
|
3319
|
+
};
|
|
3320
|
+
/** @description Access denied to this card */
|
|
3321
|
+
403: {
|
|
3322
|
+
headers: {
|
|
3323
|
+
[name: string]: unknown;
|
|
3324
|
+
};
|
|
3325
|
+
content: {
|
|
3326
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
3327
|
+
};
|
|
3328
|
+
};
|
|
3329
|
+
/** @description `THREE_DS_CHALLENGE_NOT_FOUND` — no such challenge on this card */
|
|
3330
|
+
404: {
|
|
3331
|
+
headers: {
|
|
3332
|
+
[name: string]: unknown;
|
|
3333
|
+
};
|
|
3334
|
+
content: {
|
|
3335
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
3336
|
+
};
|
|
3337
|
+
};
|
|
3338
|
+
/** @description `THREE_DS_CHALLENGE_CLOSED` — already answered or expired; `error.details.status` tells which */
|
|
3339
|
+
409: {
|
|
3340
|
+
headers: {
|
|
3341
|
+
[name: string]: unknown;
|
|
3342
|
+
};
|
|
3343
|
+
content: {
|
|
3344
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
3345
|
+
};
|
|
3346
|
+
};
|
|
3347
|
+
};
|
|
3348
|
+
};
|
|
3349
|
+
delete?: never;
|
|
3350
|
+
options?: never;
|
|
3351
|
+
head?: never;
|
|
3352
|
+
patch?: never;
|
|
3353
|
+
trace?: never;
|
|
3354
|
+
};
|
|
3237
3355
|
"/api/issuing/cards/{card_id}/unfreeze": {
|
|
3238
3356
|
parameters: {
|
|
3239
3357
|
query?: never;
|
|
@@ -4455,6 +4573,90 @@ export interface paths {
|
|
|
4455
4573
|
patch?: never;
|
|
4456
4574
|
trace?: never;
|
|
4457
4575
|
};
|
|
4576
|
+
"/api/issuing/sub-accounts/{sub_account_id}/top-up/check": {
|
|
4577
|
+
parameters: {
|
|
4578
|
+
query?: never;
|
|
4579
|
+
header?: never;
|
|
4580
|
+
path?: never;
|
|
4581
|
+
cookie?: never;
|
|
4582
|
+
};
|
|
4583
|
+
/**
|
|
4584
|
+
* Check whether a top-up would be accepted
|
|
4585
|
+
* @description Answers whether a top-up of `amount` to this sub-account would be accepted right now,
|
|
4586
|
+
* from the liquidity of the card provider behind it — the same check a deposit runs
|
|
4587
|
+
* before it debits the wallet. Nothing is debited or reserved, so a later deposit can
|
|
4588
|
+
* still be refused if the provider's liquidity changes in between.
|
|
4589
|
+
*
|
|
4590
|
+
* **Authentication**: x-api-key header required
|
|
4591
|
+
*
|
|
4592
|
+
*/
|
|
4593
|
+
get: {
|
|
4594
|
+
parameters: {
|
|
4595
|
+
query: {
|
|
4596
|
+
/** @description Amount the sub-account is to be credited, in its own currency. */
|
|
4597
|
+
amount: number;
|
|
4598
|
+
};
|
|
4599
|
+
header?: never;
|
|
4600
|
+
path: {
|
|
4601
|
+
sub_account_id: string;
|
|
4602
|
+
};
|
|
4603
|
+
cookie?: never;
|
|
4604
|
+
};
|
|
4605
|
+
requestBody?: never;
|
|
4606
|
+
responses: {
|
|
4607
|
+
/** @description The provider's verdict */
|
|
4608
|
+
200: {
|
|
4609
|
+
headers: {
|
|
4610
|
+
[name: string]: unknown;
|
|
4611
|
+
};
|
|
4612
|
+
content: {
|
|
4613
|
+
"application/json": {
|
|
4614
|
+
/** @example true */
|
|
4615
|
+
success?: boolean;
|
|
4616
|
+
data?: {
|
|
4617
|
+
/** @description Whether the provider would take a top-up of `amount` now. */
|
|
4618
|
+
allowed?: boolean;
|
|
4619
|
+
};
|
|
4620
|
+
};
|
|
4621
|
+
};
|
|
4622
|
+
};
|
|
4623
|
+
/** @description Missing or non-positive `amount` */
|
|
4624
|
+
400: {
|
|
4625
|
+
headers: {
|
|
4626
|
+
[name: string]: unknown;
|
|
4627
|
+
};
|
|
4628
|
+
content: {
|
|
4629
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
4630
|
+
};
|
|
4631
|
+
};
|
|
4632
|
+
/** @description Access denied to this sub-account */
|
|
4633
|
+
403: {
|
|
4634
|
+
headers: {
|
|
4635
|
+
[name: string]: unknown;
|
|
4636
|
+
};
|
|
4637
|
+
content: {
|
|
4638
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
4639
|
+
};
|
|
4640
|
+
};
|
|
4641
|
+
/** @description The provider gave no verdict (`TOPUP_CHECK_UNAVAILABLE`); a deposit would be refused the same way. */
|
|
4642
|
+
503: {
|
|
4643
|
+
headers: {
|
|
4644
|
+
[name: string]: unknown;
|
|
4645
|
+
};
|
|
4646
|
+
content: {
|
|
4647
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
4648
|
+
};
|
|
4649
|
+
};
|
|
4650
|
+
};
|
|
4651
|
+
};
|
|
4652
|
+
put?: never;
|
|
4653
|
+
post?: never;
|
|
4654
|
+
delete?: never;
|
|
4655
|
+
options?: never;
|
|
4656
|
+
head?: never;
|
|
4657
|
+
patch?: never;
|
|
4658
|
+
trace?: never;
|
|
4659
|
+
};
|
|
4458
4660
|
"/api/issuing/sub-accounts/{sub_account_id}/withdraw": {
|
|
4459
4661
|
parameters: {
|
|
4460
4662
|
query?: never;
|
|
@@ -7303,7 +7505,7 @@ export interface components {
|
|
|
7303
7505
|
* @example EXCHANGE_OMNI
|
|
7304
7506
|
* @enum {string}
|
|
7305
7507
|
*/
|
|
7306
|
-
OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE" | "REFERRAL_PAYOUT";
|
|
7508
|
+
OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_FEDNOW_ONRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE" | "REFERRAL_PAYOUT";
|
|
7307
7509
|
OrderCalculation: {
|
|
7308
7510
|
/**
|
|
7309
7511
|
* Format: uuid
|
|
@@ -8033,6 +8235,8 @@ export interface components {
|
|
|
8033
8235
|
bank_name: string | null;
|
|
8034
8236
|
/** @description SWIFT/BIC code */
|
|
8035
8237
|
swift_bic?: string | null;
|
|
8238
|
+
/** @description BIC of the intermediary (correspondent) bank, SWIFT payment method only; 8 or 11 characters, ISO 9362 */
|
|
8239
|
+
intermediary_bic?: string | null;
|
|
8036
8240
|
/** @description IBAN */
|
|
8037
8241
|
iban?: string | null;
|
|
8038
8242
|
/** @description Sort code (6 digits, UK banking) */
|