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.
@@ -2976,7 +2976,7 @@ export interface components {
2976
2976
  * @example EXCHANGE_OMNI
2977
2977
  * @enum {string}
2978
2978
  */
2979
- 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";
2979
+ 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";
2980
2980
  OrderCalculation: {
2981
2981
  /**
2982
2982
  * Format: uuid
@@ -3159,7 +3159,7 @@ export interface components {
3159
3159
  * @description Payment method associated with this order type
3160
3160
  * @enum {string|null}
3161
3161
  */
3162
- payment_method?: "FEDWIRE" | "ACH" | "RTP" | "SWIFT" | "SEPA" | "CHAPS" | "FPS" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CARD" | null;
3162
+ payment_method?: "FEDWIRE" | "ACH" | "RTP" | "FEDNOW" | "SWIFT" | "SEPA" | "CHAPS" | "FPS" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CARD" | null;
3163
3163
  /**
3164
3164
  * Format: uuid
3165
3165
  * @description Associated KYC rail configuration ID
@@ -3468,7 +3468,10 @@ export interface components {
3468
3468
  vendor_card_id?: string;
3469
3469
  /** @description Vendor's sub-account ID */
3470
3470
  vendor_sub_account_id?: string | null;
3471
- /** @description Reason for transaction failure (empty if successful) */
3471
+ /**
3472
+ * @description Neutral decline reason derived from the decline code ('Declined' when no specific reason applies), never the card issuer's own text; empty if successful
3473
+ * @example Insufficient funds
3474
+ */
3472
3475
  failure_reason?: string;
3473
3476
  /**
3474
3477
  * @description Transaction status
@@ -345,6 +345,7 @@ export interface paths {
345
345
  requestBody: {
346
346
  content: {
347
347
  "application/json": {
348
+ /** @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. */
348
349
  name: string;
349
350
  /** @enum {string} */
350
351
  type: "BUSINESS" | "INDIVIDUAL";
@@ -378,12 +379,32 @@ export interface paths {
378
379
  };
379
380
  };
380
381
  };
381
- /** @description Validation error */
382
+ /** @description `VALIDATION_ERROR`: `name` or `type` missing or invalid, or `name` has characters outside printable ASCII (the message names the field) */
382
383
  400: {
383
384
  headers: {
384
385
  [name: string]: unknown;
385
386
  };
386
- content?: never;
387
+ content: {
388
+ "application/json": components["schemas"]["ErrorResponse"];
389
+ };
390
+ };
391
+ /** @description `WALLET_ACCESS_DENIED`: the wallet does not belong to the tenant of the key */
392
+ 403: {
393
+ headers: {
394
+ [name: string]: unknown;
395
+ };
396
+ content: {
397
+ "application/json": components["schemas"]["ErrorResponse"];
398
+ };
399
+ };
400
+ /** @description `WALLET_NOT_FOUND` */
401
+ 404: {
402
+ headers: {
403
+ [name: string]: unknown;
404
+ };
405
+ content: {
406
+ "application/json": components["schemas"]["ErrorResponse"];
407
+ };
387
408
  };
388
409
  };
389
410
  };
@@ -576,7 +597,8 @@ export interface paths {
576
597
  * @description counterparty_account_id is required in the body.
577
598
  *
578
599
  * **Banking types** (ACH, SWIFT, SEPA, CHAPS, FPS, FEDWIRE):
579
- * banking_data: { account_number, routing_number, bank_name, swift_bic, iban, sort_code, note, address }
600
+ * banking_data: { account_number, routing_number, bank_name, swift_bic, intermediary_bic, iban, sort_code, note, address }
601
+ * — `intermediary_bic` is optional and accepted on SWIFT only.
580
602
  *
581
603
  * **Crypto types** (CRYPTO_EXTERNAL, CRYPTO_INTERNAL):
582
604
  * crypto_data: { address, currency_id, memo }
@@ -599,12 +621,15 @@ export interface paths {
599
621
  counterparty_account_id: string;
600
622
  /** @enum {string} */
601
623
  type: "ACH" | "SWIFT" | "SEPA" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CHAPS" | "FPS" | "FEDWIRE" | "INTERNAL";
624
+ /** @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`. */
602
625
  nickname?: string;
603
626
  banking_data?: {
604
627
  account_number?: string;
605
628
  routing_number?: string;
606
629
  bank_name?: string;
607
630
  swift_bic?: string;
631
+ /** @description BIC of the intermediary (correspondent) bank, SWIFT payment method only; 8 or 11 characters, ISO 9362 */
632
+ intermediary_bic?: string | null;
608
633
  iban?: string;
609
634
  /** @description Sort code (6 digits, UK banking) */
610
635
  sort_code?: string;
@@ -662,7 +687,7 @@ export interface paths {
662
687
  };
663
688
  };
664
689
  };
665
- /** @description Validation error. Bank-details problems come as `VALIDATION_ERROR` with every problem in `error.details.issues` (`field`, `code`, `message`, optional `country` / `detected`).
690
+ /** @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.
666
691
  *
667
692
  * **Until 2026-10-12 00:00 UTC** the stricter bank-details rules (per-country IBAN checks, SEPA-zone IBAN, BIC details, ABA check digit, account formats) are reported by `POST /admin/counterparty/destinations/validate` but do not refuse this request; from then on they do.
668
693
  * */
@@ -670,7 +695,9 @@ export interface paths {
670
695
  headers: {
671
696
  [name: string]: unknown;
672
697
  };
673
- content?: never;
698
+ content: {
699
+ "application/json": components["schemas"]["ErrorResponse"];
700
+ };
674
701
  };
675
702
  /** @description Account not found */
676
703
  404: {
@@ -784,6 +811,7 @@ export interface paths {
784
811
  requestBody: {
785
812
  content: {
786
813
  "application/json": {
814
+ /** @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`. */
787
815
  nickname?: string;
788
816
  };
789
817
  };
@@ -804,6 +832,15 @@ export interface paths {
804
832
  };
805
833
  };
806
834
  };
835
+ /** @description `VALIDATION_ERROR`: no updatable field, or `nickname` has characters outside printable ASCII */
836
+ 400: {
837
+ headers: {
838
+ [name: string]: unknown;
839
+ };
840
+ content: {
841
+ "application/json": components["schemas"]["ErrorResponse"];
842
+ };
843
+ };
807
844
  /** @description Not found */
808
845
  404: {
809
846
  headers: {
@@ -1490,7 +1527,7 @@ export interface paths {
1490
1527
  /** @description Filter by wallet UUID */
1491
1528
  wallet_id?: string;
1492
1529
  /** @description Filter by KYC status */
1493
- status?: "UNVERIFIED" | "PENDING" | "WAITING_ON_REVIEW" | "WAITING_ON_UBOS" | "HOLD" | "APPROVED" | "SOFT_REJECT" | "REJECT" | "DECLINED" | "DOUBLE";
1530
+ status?: "UNVERIFIED" | "PENDING" | "WAITING_ON_REVIEW" | "WAITING_ON_UBOS" | "HOLD" | "APPROVED" | "SOFT_REJECT" | "REJECT" | "DECLINED" | "DOUBLE" | "EXPIRED" | "OFFBOARDED";
1494
1531
  /** @description Filter by entity type */
1495
1532
  type?: "individual" | "business";
1496
1533
  offset?: number;
@@ -4264,14 +4301,12 @@ export interface paths {
4264
4301
  * List order types
4265
4302
  * @description Returns order types with KYC rails.
4266
4303
  *
4267
- * - When the request is scoped to a tenant (via `x-tenant-id` header or session),
4268
- * the list is **filtered** to order types enabled for that tenant —
4269
- * i.e. those having a row in `tenant_order_type_rates`. Each returned item is
4270
- * enriched with `tenant_rates` (`markup_percent`, `markup_fixed`, `mon_min_usd`)
4271
- * and may expose product-facing guardrails such as `min_amount`,
4272
- * `max_amount`, `first_party_only` and `documents_required_from_amount`.
4273
- * - Without a tenant scope (admin global view), the full catalogue is returned
4274
- * and `tenant_rates` is omitted.
4304
+ * The list is **filtered** to order types enabled for the workspace of the
4305
+ * API key — i.e. those having a row in `tenant_order_type_rates`. Each returned
4306
+ * item is enriched with `tenant_rates` (`markup_percent`, `markup_fixed`,
4307
+ * `mon_min_usd`) and may expose product-facing guardrails such as `min_amount`,
4308
+ * `max_amount`, `first_party_only` and `documents_required_from_amount`.
4309
+ * The workspace comes from the key only; an `x-tenant-id` header is ignored.
4275
4310
  *
4276
4311
  */
4277
4312
  get: {
@@ -8746,6 +8781,8 @@ export interface components {
8746
8781
  routing_number?: string | null;
8747
8782
  bank_name: string | null;
8748
8783
  swift_bic?: string | null;
8784
+ /** @description BIC of the intermediary (correspondent) bank, SWIFT payment method only; 8 or 11 characters, ISO 9362 */
8785
+ intermediary_bic?: string | null;
8749
8786
  iban?: string | null;
8750
8787
  /** @description Sort code (6 digits, UK banking) */
8751
8788
  sort_code?: string | null;
@@ -8896,7 +8933,7 @@ export interface components {
8896
8933
  /** @enum {string} */
8897
8934
  type?: "individual" | "business";
8898
8935
  /** @enum {string} */
8899
- status?: "UNVERIFIED" | "PENDING" | "WAITING_ON_REVIEW" | "WAITING_ON_UBOS" | "HOLD" | "APPROVED" | "SOFT_REJECT" | "REJECT" | "DECLINED" | "DOUBLE";
8936
+ status?: "UNVERIFIED" | "PENDING" | "WAITING_ON_REVIEW" | "WAITING_ON_UBOS" | "HOLD" | "APPROVED" | "SOFT_REJECT" | "REJECT" | "DECLINED" | "DOUBLE" | "EXPIRED" | "OFFBOARDED";
8900
8937
  email?: string | null;
8901
8938
  phone?: string | null;
8902
8939
  first_name?: string | null;
@@ -8959,11 +8996,11 @@ export interface components {
8959
8996
  */
8960
8997
  ubo_id?: string | null;
8961
8998
  /**
8962
- * @description Who filed the document: `admin_api` — this API, `panel` — an operator, `bff` — the client application, `kyc_provider` — received from the KYC provider, `backfill` — carried over from the former `*_url` fields.
8999
+ * @description Who filed the document: `admin_api` — this API, `panel` — an operator, `bff` — the client application, `kyc_provider` — received from the KYC provider, `backfill` — carried over from the former `*_url` fields, `client` — uploaded by the client through a KYC form.
8963
9000
  * @example admin_api
8964
9001
  * @enum {string}
8965
9002
  */
8966
- source?: "admin_api" | "panel" | "bff" | "kyc_provider" | "backfill";
9003
+ source?: "admin_api" | "panel" | "bff" | "kyc_provider" | "backfill" | "client";
8967
9004
  /**
8968
9005
  * Format: uuid
8969
9006
  * @description Shared by the files sent in one request (one submission).
@@ -9125,7 +9162,7 @@ export interface components {
9125
9162
  * @example EXCHANGE_OMNI
9126
9163
  * @enum {string}
9127
9164
  */
9128
- 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";
9165
+ 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";
9129
9166
  OrderCalculation: {
9130
9167
  /**
9131
9168
  * Format: uuid
@@ -1061,17 +1061,17 @@ export interface components {
1061
1061
  * @default UNVERIFIED
1062
1062
  * @enum {string|null}
1063
1063
  */
1064
- kyc_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | null;
1064
+ kyc_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED" | null;
1065
1065
  /**
1066
1066
  * @default UNVERIFIED
1067
1067
  * @enum {string}
1068
1068
  */
1069
- identity_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1069
+ identity_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
1070
1070
  /**
1071
1071
  * @default UNVERIFIED
1072
1072
  * @enum {string}
1073
1073
  */
1074
- face_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1074
+ face_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
1075
1075
  readonly profile_source: string | null;
1076
1076
  readonly profile_synced_at: string | null;
1077
1077
  referral_name: string | null;
@@ -1348,7 +1348,7 @@ export interface components {
1348
1348
  * @default UNVERIFIED
1349
1349
  * @enum {string}
1350
1350
  */
1351
- status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1351
+ status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
1352
1352
  readonly business_name?: string;
1353
1353
  readonly first_name?: string;
1354
1354
  readonly last_name?: string;
@@ -1762,7 +1762,7 @@ export interface components {
1762
1762
  * @default UNVERIFIED
1763
1763
  * @enum {string}
1764
1764
  */
1765
- status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1765
+ status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
1766
1766
  /** @enum {string|null} */
1767
1767
  employment_status?: "EMPLOYEE" | "SELF_EMPLOYED" | "RETIRED" | "UNEMPLOYED" | "STUDENT" | "OTHER" | null;
1768
1768
  employment_description?: string | null;
@@ -1830,7 +1830,7 @@ export interface components {
1830
1830
  WalletKycRailDto: {
1831
1831
  message: string | null;
1832
1832
  /** @enum {string} */
1833
- readonly status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1833
+ readonly status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
1834
1834
  /** @default false */
1835
1835
  terms_confirmed: boolean;
1836
1836
  extra_actions?: components["schemas"]["WalletKycRailExtraActionDto"][];
@@ -2177,6 +2177,8 @@ export interface components {
2177
2177
  readonly supported_locales?: components["schemas"]["SupportedLocalesEntity"] | null;
2178
2178
  /** @enum {string} */
2179
2179
  auth_provider: "supabase" | "clerk";
2180
+ /** @default false */
2181
+ kyc_forms_enabled: boolean;
2180
2182
  base_currency: string;
2181
2183
  mass_payouts: components["schemas"]["SystemMassPayoutsConfigDto"];
2182
2184
  aml_check: components["schemas"]["SystemAmlCheckConfigDto"];
@@ -1,3 +1,4 @@
1
+ import type { AxiosRequestConfig } from 'axios';
1
2
  import { APIKeyRole, CardFormFactor, CardTransactionType, CardType, CurrencyType, IssuingProgramStatus, OrderStatuses, OrderType, SortingDirection, SubAccountType } from '../../constants';
2
3
  import { components, operations, paths } from './autogen/apiV2.types';
3
4
  import { components as componentsV1Frontend, paths as pathsV1Frontend } from './autogen/apiV1Frontend.types';
@@ -874,6 +875,7 @@ export declare namespace API {
874
875
  export namespace Submit {
875
876
  type Request = RailRoot['post']['parameters']['path'];
876
877
  type Response = RailRoot['post']['responses'][200]['content']['application/json'];
878
+ type ErrorDetails = NonNullable<NonNullable<componentsV1Frontend['schemas']['WalletKycRailSubmitErrorResponse']['error']>['details']>;
877
879
  }
878
880
  export namespace ConfirmTerms {
879
881
  type Request = TermsRoot['post']['parameters']['path'];
@@ -881,6 +883,147 @@ export declare namespace API {
881
883
  }
882
884
  export {};
883
885
  }
886
+ namespace KycForms {
887
+ type EntitiesRoot = pathsV1Frontend['/frontend/kyc/entities'];
888
+ type EntityRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}'];
889
+ type OverviewRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/overview'];
890
+ type EntityTargetsRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/targets'];
891
+ type TypeTargetsRoot = pathsV1Frontend['/frontend/kyc/targets'];
892
+ type FormsRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/forms'];
893
+ type DraftRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/forms/draft'];
894
+ type UploadsRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/forms/uploads'];
895
+ type UploadRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/forms/uploads/{upload_id}'];
896
+ type SubmitRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/forms/submit'];
897
+ type SessionRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/verification/session'];
898
+ type OwnerLinkRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/verification/owners/{owner_id}/link'];
899
+ type OwnerSessionRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/verification/owners/{owner_id}/session'];
900
+ type OwnerDocumentRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/verification/owners/{owner_id}/document'];
901
+ type OwnersInviteRoot = pathsV1Frontend['/frontend/kyc/entities/{entity_id}/verification/owners/invite'];
902
+ type Schemas = componentsV1Frontend['schemas'];
903
+ type UploadOptions = Pick<AxiosRequestConfig, 'signal' | 'timeout' | 'onUploadProgress'>;
904
+ export type Entity = Schemas['KycFormsEntity'];
905
+ export type EntityStatus = Schemas['KycFormsEntityStatus'];
906
+ export type EntityType = Entity['type'];
907
+ export type Overview = Schemas['KycFormsOverview']['data'];
908
+ export type Stage = Overview['stage'];
909
+ export type NextStep = Overview['next_step'];
910
+ export type WaitingOn = Overview['waiting_on'];
911
+ export type OverviewOwner = Overview['verification']['owners'][number];
912
+ export type OwnerType = OverviewOwner['type'];
913
+ export type OwnerRole = NonNullable<OverviewOwner['role']>;
914
+ export type VerificationState = Schemas['KycFormsVerificationState'];
915
+ export type EntityTargets = Schemas['KycFormsTargets']['data'];
916
+ export type TypeTargets = Schemas['KycFormsTypeTargets']['data'];
917
+ export type TargetForm = Schemas['KycFormsTargetForm'];
918
+ export type ProgramLevel = TypeTargets['programs'][number]['level'];
919
+ export type Form = Schemas['KycFormsForm'];
920
+ export type FormScope = Form['scope'];
921
+ export type FormSection = Form['sections'][number];
922
+ export type Terms = Schemas['KycFormsTerms'];
923
+ export type TermsItem = Terms['items'][number];
924
+ export type FormState = Schemas['KycFormsFormState'];
925
+ export type Field = Schemas['KycFormsField'];
926
+ export type FieldType = Field['type'];
927
+ export type FieldOption = NonNullable<Field['options']>[number];
928
+ export type LockReason = NonNullable<Field['lock_reason']>;
929
+ export type Condition = Schemas['KycFormsCondition'];
930
+ export type ConditionRule = Schemas['KycFormsConditionRule'];
931
+ export type ConditionAll = Schemas['KycFormsConditionAll'];
932
+ export type ConditionAny = Schemas['KycFormsConditionAny'];
933
+ export type ConditionOp = ConditionRule['op'];
934
+ export type Submission = NonNullable<Schemas['KycFormsSubmission']>;
935
+ export type SubmissionStatus = Submission['status'];
936
+ export type FieldValue = Schemas['KycFormsFieldValue'];
937
+ export type AnswerValue = Schemas['KycFormsAnswerValue'];
938
+ export type FileValue = Schemas['KycFormsFileValue'];
939
+ export type ListItemValue = Schemas['KycFormsListItemValue'];
940
+ export type ErrorDetails = Schemas['KycFormsErrorDetails'];
941
+ export namespace Entities {
942
+ namespace Create {
943
+ type Request = EntitiesRoot['post']['requestBody']['content']['application/json'];
944
+ type Response = EntitiesRoot['post']['responses'][201]['content']['application/json'];
945
+ }
946
+ namespace List {
947
+ type Response = EntitiesRoot['get']['responses'][200]['content']['application/json'];
948
+ }
949
+ namespace Get {
950
+ type Request = EntityRoot['get']['parameters']['path'];
951
+ type Response = EntityRoot['get']['responses'][200]['content']['application/json'];
952
+ }
953
+ namespace Overview {
954
+ type Request = OverviewRoot['get']['parameters']['path'] & NonNullable<OverviewRoot['get']['parameters']['query']>;
955
+ type Response = OverviewRoot['get']['responses'][200]['content']['application/json'];
956
+ }
957
+ namespace Targets {
958
+ type Request = EntityTargetsRoot['get']['parameters']['path'] & NonNullable<EntityTargetsRoot['get']['parameters']['query']>;
959
+ type Response = EntityTargetsRoot['get']['responses'][200]['content']['application/json'];
960
+ }
961
+ }
962
+ export namespace Targets {
963
+ namespace List {
964
+ type Request = TypeTargetsRoot['get']['parameters']['query'];
965
+ type Response = TypeTargetsRoot['get']['responses'][200]['content']['application/json'];
966
+ }
967
+ }
968
+ export namespace Forms {
969
+ type Target = NonNullable<FormsRoot['get']['parameters']['query']>;
970
+ namespace Get {
971
+ type Request = FormsRoot['get']['parameters']['path'] & Target;
972
+ type Response = FormsRoot['get']['responses'][200]['content']['application/json'];
973
+ }
974
+ namespace SaveDraft {
975
+ type Request = DraftRoot['put']['parameters']['path'] & NonNullable<DraftRoot['put']['parameters']['query']> & DraftRoot['put']['requestBody']['content']['application/json'];
976
+ type Response = DraftRoot['put']['responses'][200]['content']['application/json'];
977
+ }
978
+ namespace Upload {
979
+ type Body = UploadsRoot['post']['requestBody']['content']['multipart/form-data'];
980
+ export type Request = UploadsRoot['post']['parameters']['path'] & NonNullable<UploadsRoot['post']['parameters']['query']> & Omit<Body, 'file'> & {
981
+ file: File | Blob;
982
+ } & UploadOptions;
983
+ export type Response = UploadsRoot['post']['responses'][201]['content']['application/json'];
984
+ export {};
985
+ }
986
+ namespace RemoveUpload {
987
+ type Request = UploadRoot['delete']['parameters']['path'] & NonNullable<UploadRoot['delete']['parameters']['query']>;
988
+ type Response = UploadRoot['delete']['responses'][200]['content']['application/json'];
989
+ }
990
+ namespace Submit {
991
+ type Request = SubmitRoot['post']['parameters']['path'] & NonNullable<SubmitRoot['post']['parameters']['query']> & SubmitRoot['post']['requestBody']['content']['application/json'];
992
+ type Response = SubmitRoot['post']['responses'][200]['content']['application/json'];
993
+ }
994
+ }
995
+ export namespace Verification {
996
+ namespace Session {
997
+ type Request = SessionRoot['post']['parameters']['path'];
998
+ type Response = SessionRoot['post']['responses'][200]['content']['application/json'];
999
+ }
1000
+ namespace Owners {
1001
+ namespace Link {
1002
+ type Request = OwnerLinkRoot['post']['parameters']['path'];
1003
+ type Response = OwnerLinkRoot['post']['responses'][200]['content']['application/json'];
1004
+ }
1005
+ namespace Session {
1006
+ type Request = OwnerSessionRoot['post']['parameters']['path'];
1007
+ type Response = OwnerSessionRoot['post']['responses'][200]['content']['application/json'];
1008
+ }
1009
+ namespace Document {
1010
+ type Body = OwnerDocumentRoot['post']['requestBody']['content']['multipart/form-data'];
1011
+ export type Side = Body['side'];
1012
+ export type Type = NonNullable<Body['type']>;
1013
+ export type Request = OwnerDocumentRoot['post']['parameters']['path'] & Omit<Body, 'file'> & {
1014
+ file: File | Blob;
1015
+ } & UploadOptions;
1016
+ export type Response = OwnerDocumentRoot['post']['responses'][201]['content']['application/json'];
1017
+ export {};
1018
+ }
1019
+ namespace Invite {
1020
+ type Request = OwnersInviteRoot['post']['parameters']['path'];
1021
+ type Response = OwnersInviteRoot['post']['responses'][200]['content']['application/json'];
1022
+ }
1023
+ }
1024
+ }
1025
+ export {};
1026
+ }
884
1027
  namespace Reference {
885
1028
  namespace ExchangeRates {
886
1029
  type ExchangeRatesRoot = pathsV1Frontend['/frontend/reference/exchange_rates'];
@@ -333,7 +333,9 @@ export declare enum KYCStatuses {
333
333
  REJECT = "REJECT",
334
334
  UNVERIFIED = "UNVERIFIED",
335
335
  WAITING_ON_UBOS = "WAITING_ON_UBOS",
336
- WAITING_ON_REVIEW = "WAITING_ON_REVIEW"
336
+ WAITING_ON_REVIEW = "WAITING_ON_REVIEW",
337
+ EXPIRED = "EXPIRED",
338
+ OFFBOARDED = "OFFBOARDED"
337
339
  }
338
340
  export declare const KYCStatusCheck: IsEnumEqualToUnion<KYCStatuses, API.KYC.KYCStatus>;
339
341
  export type KYCStatusMismatch = EnumUnionMismatch<KYCStatuses, API.KYC.KYCStatus>;
package/dist/constants.js CHANGED
@@ -349,6 +349,8 @@ export var KYCStatuses;
349
349
  KYCStatuses["UNVERIFIED"] = "UNVERIFIED";
350
350
  KYCStatuses["WAITING_ON_UBOS"] = "WAITING_ON_UBOS";
351
351
  KYCStatuses["WAITING_ON_REVIEW"] = "WAITING_ON_REVIEW";
352
+ KYCStatuses["EXPIRED"] = "EXPIRED";
353
+ KYCStatuses["OFFBOARDED"] = "OFFBOARDED";
352
354
  })(KYCStatuses || (KYCStatuses = {}));
353
355
  export const KYCStatusCheck = true;
354
356
  // Steps of the per-user verification ladder passed to `user.verification.init`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.95",
3
+ "version": "1.36.97",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",