squarefi-bff-api-module 1.36.95 → 1.36.96

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.
@@ -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>;
@@ -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,71 @@ 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
+ 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 }),
198
+ },
199
+ verification: {
200
+ // A widget token of the identity provider for the owner of the entity (the filler of a business).
201
+ session: ({ entity_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/session`),
202
+ owners: {
203
+ link: ({ entity_id, owner_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/link`),
204
+ session: ({ entity_id, owner_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/session`),
205
+ // One JPEG or PNG photo per request; `back` only for a document type other than a passport.
206
+ document: ({ entity_id, owner_id, file, side, type, country, signal, timeout, onUploadProgress, }) => {
207
+ const formData = new FormData();
208
+ formData.append('file', file);
209
+ formData.append('side', side);
210
+ if (type)
211
+ formData.append('type', type);
212
+ if (country)
213
+ formData.append('country', country);
214
+ return apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/${owner_id}/document`, { data: formData, signal, timeout, onUploadProgress });
215
+ },
216
+ // The provider emails every owner still to pass the check; taken once in 10 minutes
217
+ // (409 KYC_OWNER_INVITES_TOO_SOON, `verification.invites.next_at` of the overview).
218
+ invite: ({ entity_id, }) => apiClientV1Frontend.postRequest(`/frontend/kyc/entities/${entity_id}/verification/owners/invite`),
219
+ },
220
+ },
221
+ },
155
222
  reference: {
156
223
  // Frontend twin of `exchange.byOrderType.*` (legacy `GET /exchange/`): the same tenant pairs, but paged in
157
224
  // 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
- /** @example Acme Corp. */
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 Validation error */
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
- /** @example Acme — primary */
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 Validation error */
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?: never;
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) */