squarefi-bff-api-module 1.36.32 → 1.36.34

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.
@@ -1 +1,4 @@
1
- export declare const bankData: {};
1
+ import { API } from './types/types';
2
+ export declare const bankData: {
3
+ getByCode: (params: API.BankData.GetByCode.Request) => Promise<API.BankData.GetByCode.Response>;
4
+ };
@@ -1,8 +1,6 @@
1
+ import { apiClientV1Frontend } from '../utils/apiClientFactory';
1
2
  export const bankData = {
2
- // getBankDataByAccountNumber: ( // TBD on backend
3
- // params: API.BankData.GetBankDataByAccountNumber.Request,
4
- // ): Promise<API.BankData.GetBankDataByAccountNumber.Response> =>
5
- // apiClientV2.getRequest<API.BankData.GetBankDataByAccountNumber.Response>(`/bank-data`, {
6
- // params,
7
- // }),
3
+ getByCode: (params) => apiClientV1Frontend.getRequest('/frontend/bank-data', {
4
+ params,
5
+ }),
8
6
  };
@@ -6332,13 +6332,13 @@ export interface paths {
6332
6332
  get: {
6333
6333
  parameters: {
6334
6334
  query?: {
6335
- /** @description Filter by status (comma-separated for multi-select) */
6335
+ /** @description Filter by status (comma-separated for multi-select — new, pending, processing, complete, canceled, failed) */
6336
6336
  status?: string;
6337
- /** @description Transaction type filter */
6338
- type?: string;
6337
+ /** @description Transaction type (direction) */
6338
+ type?: "deposit" | "withdrawal";
6339
6339
  /** @description Transaction method filter */
6340
- method?: string;
6341
- /** @description Record type filter */
6340
+ method?: "p2p" | "crypto" | "bank_transfer" | "exchange" | "sbp" | "internal_fiat";
6341
+ /** @description Transaction subtype (e.g. `DEPOSIT_CRYPTO_EXTERNAL`, `CARD_PROVIDER_DEPOSIT`) */
6342
6342
  record_type?: string;
6343
6343
  /** @description Filter by sender or recipient address (matches `from` OR `to` fields) */
6344
6344
  address?: string;
@@ -7352,7 +7352,24 @@ export interface components {
7352
7352
  amount_to?: number | null;
7353
7353
  order_type?: string;
7354
7354
  /** @enum {string} */
7355
- status?: "NEW" | "EXPECTED" | "PROCESSING" | "COMPLETE" | "FAILED" | "CANCELED" | "REFUNDED";
7355
+ status?: "NEW" | "PENDING" | "EXPECTED" | "PROCESSING" | "COMPLETE" | "FAILED" | "CANCELED" | "REFUNDED";
7356
+ /**
7357
+ * @description Compliance (transaction monitoring) state. Orthogonal to `status`: a `held` order is still PENDING and nothing has been credited — it resolves to COMPLETE or FAILED once the review finishes. `null` means the order was never subject to a compliance hold.
7358
+ * @enum {string|null}
7359
+ */
7360
+ compliance_state?: "held" | "released" | "rejected" | null;
7361
+ /** @description Why the order is (or was) held. */
7362
+ compliance_reason?: string | null;
7363
+ /**
7364
+ * Format: date-time
7365
+ * @description When the hold started.
7366
+ */
7367
+ compliance_held_at?: string | null;
7368
+ /**
7369
+ * Format: date-time
7370
+ * @description When the hold was released or rejected.
7371
+ */
7372
+ compliance_resolved_at?: string | null;
7356
7373
  /** Format: uuid */
7357
7374
  sub_account_id?: string | null;
7358
7375
  info?: string | null;
@@ -872,9 +872,21 @@ export interface paths {
872
872
  cookie?: never;
873
873
  };
874
874
  /**
875
- * Look up bank data by code
876
- * @description Resolves a bank identifier (IBAN, SWIFT/BIC, or US RTN) into normalised
877
- * bank/address data suitable for prefilling a counterparty form.
875
+ * Look up bank data by payment method and code
876
+ * @description Resolves a bank identifier into the bank name and registered address for
877
+ * prefilling counterparty bank details. `method` fixes the expected code
878
+ * format:
879
+ *
880
+ * | `method` | code |
881
+ * | --- | --- |
882
+ * | `ach`, `fedwire` | US routing number (ABA/RTN) |
883
+ * | `swift`, `sepa` | SWIFT/BIC |
884
+ * | `fps`, `chaps` | UK sort code (always resolves to an empty list today) |
885
+ *
886
+ * Matching is by full code — prefix search is not supported, so `data`
887
+ * carries at most one element today. A well-formed code that matches no
888
+ * bank is `200` with an empty `data`, not a 404. Banks that do not accept
889
+ * the selected method also resolve to an empty `data`.
878
890
  *
879
891
  * **Authentication**: Bearer token + x-tenant-id header
880
892
  *
@@ -882,8 +894,13 @@ export interface paths {
882
894
  get: {
883
895
  parameters: {
884
896
  query: {
885
- /** @description IBAN, SWIFT/BIC, or US routing number (optionally "routing:account") */
897
+ /** @description Full bank code in the format implied by `method`. For `ach`/`fedwire`
898
+ * the legacy `routing:account` form is tolerated — the account part is
899
+ * ignored.
900
+ * */
886
901
  code: string;
902
+ /** @description Payment method the bank details are collected for */
903
+ method: "ach" | "fedwire" | "swift" | "sepa" | "fps" | "chaps";
887
904
  };
888
905
  header?: never;
889
906
  path?: never;
@@ -891,9 +908,9 @@ export interface paths {
891
908
  };
892
909
  requestBody?: never;
893
910
  responses: {
894
- /** @description Bank data resolved. `data` is null ONLY when the bank-data lookup subsystem is
895
- * disabled on the environment; with lookups enabled a failed resolution is
896
- * reported as 400, never as a null `data`.
911
+ /** @description Matched banks (at most one today). An empty `data` means the code is
912
+ * well-formed but no bank was found for the requested method — clients
913
+ * fall back to manual entry.
897
914
  * */
898
915
  200: {
899
916
  headers: {
@@ -903,20 +920,24 @@ export interface paths {
903
920
  "application/json": {
904
921
  /** @example true */
905
922
  success: boolean;
906
- data: components["schemas"]["BankData"] | null;
923
+ data: components["schemas"]["BankDataItem"][];
924
+ /**
925
+ * @description Convenience length of `data`
926
+ * @example 1
927
+ */
928
+ count?: number;
907
929
  };
908
930
  };
909
931
  };
910
- /** @description Bad request — one of:
911
- * - `VALIDATION_ERROR` — query parameter `code` is missing/empty, or longer than 64 characters
912
- * - `UNSUPPORTED_BANK_CODE` — `code` does not match any supported format (IBAN, SWIFT/BIC, US RTN)
913
- * - `BANK_DATA_LOOKUP_FAILED` — the code is well-formed but could not be resolved
914
- * (unknown code or a transient lookup failure); always reported as this single
915
- * 400, never as 404/502
916
- * - `EXTERNAL_SERVICE_ERROR` — the bank-data lookup is temporarily unavailable
932
+ /** @description Bad request — only for malformed input:
933
+ * - `VALIDATION_ERROR` — `code` is missing/empty or longer than 64
934
+ * characters, or `method` is missing/not one of the allowed values
935
+ * - `UNSUPPORTED_BANK_CODE` — `code` does not match the format required
936
+ * by `method` (e.g. a SWIFT/BIC passed with `method=ach`)
917
937
  *
918
- * The body also carries a top-level `correlationId` (added by the error handler to
919
- * every 4xx/5xx it formats).
938
+ * A resolvable-but-unknown code is NOT a 400 — it answers `200` with an
939
+ * empty `data`. The body also carries a top-level `correlationId`
940
+ * (added by the error handler to every 4xx/5xx it formats).
920
941
  * */
921
942
  400: {
922
943
  headers: {
@@ -975,6 +996,25 @@ export interface paths {
975
996
  "application/json": components["schemas"]["ErrorResponse"];
976
997
  };
977
998
  };
999
+ /** @description Bank data lookup is temporarily unavailable — safe to retry later.
1000
+ * The body carries a `correlationId`.
1001
+ * */
1002
+ 503: {
1003
+ headers: {
1004
+ [name: string]: unknown;
1005
+ };
1006
+ content: {
1007
+ /** @example {
1008
+ * "success": false,
1009
+ * "error": {
1010
+ * "code": "BANK_DATA_LOOKUP_FAILED",
1011
+ * "message": "Bank data lookup failed"
1012
+ * },
1013
+ * "correlationId": "3f7f2f9a-8f0e-4a3b-9a3d-2f1c9d6a1b2c"
1014
+ * } */
1015
+ "application/json": components["schemas"]["ErrorResponse"];
1016
+ };
1017
+ };
978
1018
  };
979
1019
  };
980
1020
  put?: never;
@@ -5050,7 +5090,56 @@ export interface paths {
5050
5090
  };
5051
5091
  };
5052
5092
  };
5053
- put?: never;
5093
+ /**
5094
+ * Edit a mass payout draft
5095
+ * @description Draft-only. `items` fully replaces the recipient list; `virtual_account_id: null` clears the source VA.
5096
+ */
5097
+ put: {
5098
+ parameters: {
5099
+ query?: never;
5100
+ header?: never;
5101
+ path: {
5102
+ /** @description Source wallet the batches belong to */
5103
+ wallet_id: components["parameters"]["MassPayoutWalletId"];
5104
+ id: components["parameters"]["MassPayoutId"];
5105
+ };
5106
+ cookie?: never;
5107
+ };
5108
+ requestBody: {
5109
+ content: {
5110
+ "application/json": {
5111
+ name?: string;
5112
+ /** Format: uuid */
5113
+ virtual_account_id?: string | null;
5114
+ items?: components["schemas"]["MassPayoutItemInput"][];
5115
+ };
5116
+ };
5117
+ };
5118
+ responses: {
5119
+ /** @description Updated draft */
5120
+ 200: {
5121
+ headers: {
5122
+ [name: string]: unknown;
5123
+ };
5124
+ content: {
5125
+ "application/json": {
5126
+ /** @example true */
5127
+ success?: boolean;
5128
+ data?: components["schemas"]["MassPayout"];
5129
+ };
5130
+ };
5131
+ };
5132
+ /** @description Batch is not editable anymore (already submitted) */
5133
+ 409: {
5134
+ headers: {
5135
+ [name: string]: unknown;
5136
+ };
5137
+ content: {
5138
+ "application/json": components["schemas"]["ErrorResponse"];
5139
+ };
5140
+ };
5141
+ };
5142
+ };
5054
5143
  post?: never;
5055
5144
  delete?: never;
5056
5145
  options?: never;
@@ -7568,6 +7657,208 @@ export interface paths {
7568
7657
  patch?: never;
7569
7658
  trace?: never;
7570
7659
  };
7660
+ "/frontend/user_verification/init": {
7661
+ parameters: {
7662
+ query?: never;
7663
+ header?: never;
7664
+ path?: never;
7665
+ cookie?: never;
7666
+ };
7667
+ get?: never;
7668
+ put?: never;
7669
+ /**
7670
+ * Initialize user-level Sumsub verification
7671
+ * @description Starts (or upgrades) the caller's user-level Sumsub verification via
7672
+ * the Auth API. The chosen `flow` maps to a tenant-configured Sumsub
7673
+ * level — `data` (personal information), `documents` (+identity
7674
+ * document) or `face` (+face check) — and the whole level is completed
7675
+ * as one WebSDK session. Returns the Sumsub applicant id plus a
7676
+ * short-lived WebSDK access token. The caller's Bearer token is
7677
+ * forwarded to the Auth API.
7678
+ *
7679
+ * User-scoped: no wallet is involved, unlike
7680
+ * `/frontend/kyc_verification/{wallet_id}/init`.
7681
+ *
7682
+ * **Authentication**: Bearer token with x-tenant-id header required
7683
+ *
7684
+ */
7685
+ post: {
7686
+ parameters: {
7687
+ query?: never;
7688
+ header?: never;
7689
+ path?: never;
7690
+ cookie?: never;
7691
+ };
7692
+ requestBody: {
7693
+ content: {
7694
+ "application/json": {
7695
+ /**
7696
+ * @description Verification tier to complete as one SDK session
7697
+ * @enum {string}
7698
+ */
7699
+ flow: "data" | "documents" | "face";
7700
+ };
7701
+ };
7702
+ };
7703
+ responses: {
7704
+ /** @description User verification initialized */
7705
+ 200: {
7706
+ headers: {
7707
+ [name: string]: unknown;
7708
+ };
7709
+ content: {
7710
+ "application/json": {
7711
+ /** @example true */
7712
+ success: boolean;
7713
+ data: {
7714
+ /**
7715
+ * @description Echo of the requested flow
7716
+ * @enum {string}
7717
+ */
7718
+ flow: "data" | "documents" | "face";
7719
+ /** @description Sumsub applicantId */
7720
+ verification_id: string;
7721
+ /** @description Short-lived WebSDK access token — otherwise null */
7722
+ verification_token?: string | null;
7723
+ };
7724
+ };
7725
+ };
7726
+ };
7727
+ /** @description Validation error (`flow` missing or not in [data, documents, face]) */
7728
+ 400: {
7729
+ headers: {
7730
+ [name: string]: unknown;
7731
+ };
7732
+ content: {
7733
+ "application/json": components["schemas"]["ErrorResponse"];
7734
+ };
7735
+ };
7736
+ /** @description Missing or invalid Bearer token */
7737
+ 401: {
7738
+ headers: {
7739
+ [name: string]: unknown;
7740
+ };
7741
+ content: {
7742
+ "application/json": components["schemas"]["ErrorResponse"];
7743
+ };
7744
+ };
7745
+ /** @description User verification is not enabled for the tenant (no Sumsub levels configured) */
7746
+ 404: {
7747
+ headers: {
7748
+ [name: string]: unknown;
7749
+ };
7750
+ content: {
7751
+ "application/json": components["schemas"]["ErrorResponse"];
7752
+ };
7753
+ };
7754
+ /** @description A concurrent init for the same user is in progress (per-user lock) */
7755
+ 409: {
7756
+ headers: {
7757
+ [name: string]: unknown;
7758
+ };
7759
+ content: {
7760
+ "application/json": components["schemas"]["ErrorResponse"];
7761
+ };
7762
+ };
7763
+ /** @description Auth API unavailable, timed out, or returned a malformed payload */
7764
+ 502: {
7765
+ headers: {
7766
+ [name: string]: unknown;
7767
+ };
7768
+ content: {
7769
+ "application/json": components["schemas"]["ErrorResponse"];
7770
+ };
7771
+ };
7772
+ };
7773
+ };
7774
+ delete?: never;
7775
+ options?: never;
7776
+ head?: never;
7777
+ patch?: never;
7778
+ trace?: never;
7779
+ };
7780
+ "/frontend/user_verification/resume": {
7781
+ parameters: {
7782
+ query?: never;
7783
+ header?: never;
7784
+ path?: never;
7785
+ cookie?: never;
7786
+ };
7787
+ get?: never;
7788
+ put?: never;
7789
+ /**
7790
+ * Resume user-level Sumsub verification
7791
+ * @description Re-issues the short-lived WebSDK access token for the level the caller
7792
+ * is already on (the WebSDK's expirationHandler contract). The caller's
7793
+ * Bearer token is forwarded to the Auth API.
7794
+ *
7795
+ * **Authentication**: Bearer token with x-tenant-id header required
7796
+ *
7797
+ */
7798
+ post: {
7799
+ parameters: {
7800
+ query?: never;
7801
+ header?: never;
7802
+ path?: never;
7803
+ cookie?: never;
7804
+ };
7805
+ requestBody?: never;
7806
+ responses: {
7807
+ /** @description User verification resumed */
7808
+ 200: {
7809
+ headers: {
7810
+ [name: string]: unknown;
7811
+ };
7812
+ content: {
7813
+ "application/json": {
7814
+ /** @example true */
7815
+ success: boolean;
7816
+ data: {
7817
+ /** @description Always null on resume — the Auth API resumes the current level */
7818
+ flow?: string | null;
7819
+ /** @description Sumsub applicantId */
7820
+ verification_id: string;
7821
+ /** @description Short-lived WebSDK access token — otherwise null */
7822
+ verification_token?: string | null;
7823
+ };
7824
+ };
7825
+ };
7826
+ };
7827
+ /** @description Missing or invalid Bearer token */
7828
+ 401: {
7829
+ headers: {
7830
+ [name: string]: unknown;
7831
+ };
7832
+ content: {
7833
+ "application/json": components["schemas"]["ErrorResponse"];
7834
+ };
7835
+ };
7836
+ /** @description Verification not initialized for this user */
7837
+ 404: {
7838
+ headers: {
7839
+ [name: string]: unknown;
7840
+ };
7841
+ content: {
7842
+ "application/json": components["schemas"]["ErrorResponse"];
7843
+ };
7844
+ };
7845
+ /** @description Auth API unavailable, timed out, or returned a malformed payload */
7846
+ 502: {
7847
+ headers: {
7848
+ [name: string]: unknown;
7849
+ };
7850
+ content: {
7851
+ "application/json": components["schemas"]["ErrorResponse"];
7852
+ };
7853
+ };
7854
+ };
7855
+ };
7856
+ delete?: never;
7857
+ options?: never;
7858
+ head?: never;
7859
+ patch?: never;
7860
+ trace?: never;
7861
+ };
7571
7862
  "/frontend/virtual-accounts/wallet/{wallet_id}": {
7572
7863
  parameters: {
7573
7864
  query?: never;
@@ -9467,13 +9758,13 @@ export interface paths {
9467
9758
  sort_by?: string;
9468
9759
  /** @description Sort direction */
9469
9760
  sort_order?: "ASC" | "DESC";
9470
- /** @description Comma-separated transaction statuses (e.g. complete,pending) */
9761
+ /** @description Comma-separated transaction statuses (new, pending, processing, complete, canceled, failed) */
9471
9762
  status?: string;
9472
- /** @description Transaction type filter */
9473
- type?: string;
9763
+ /** @description Transaction type (direction) */
9764
+ type?: "deposit" | "withdrawal";
9474
9765
  /** @description Transaction method filter */
9475
- method?: string;
9476
- /** @description Record type filter */
9766
+ method?: "p2p" | "crypto" | "bank_transfer" | "exchange" | "sbp" | "internal_fiat";
9767
+ /** @description Transaction subtype (e.g. `DEPOSIT_CRYPTO_EXTERNAL`, `CARD_PROVIDER_DEPOSIT`) */
9477
9768
  record_type?: string;
9478
9769
  /** @description Filter by sender or recipient address (matches `from` OR `to` fields) */
9479
9770
  address?: string;
@@ -9573,13 +9864,13 @@ export interface paths {
9573
9864
  get: {
9574
9865
  parameters: {
9575
9866
  query?: {
9576
- /** @description Filter by status (comma-separated for multi-select, e.g. `completed,pending`) */
9867
+ /** @description Filter by status (comma-separated for multi-select — new, pending, processing, complete, canceled, failed) */
9577
9868
  status?: string;
9578
- /** @description Transaction type filter */
9579
- type?: string;
9869
+ /** @description Transaction type (direction) */
9870
+ type?: "deposit" | "withdrawal";
9580
9871
  /** @description Transaction method filter */
9581
- method?: string;
9582
- /** @description Record type filter */
9872
+ method?: "p2p" | "crypto" | "bank_transfer" | "exchange" | "sbp" | "internal_fiat";
9873
+ /** @description Transaction subtype (e.g. `DEPOSIT_CRYPTO_EXTERNAL`, `CARD_PROVIDER_DEPOSIT`) */
9583
9874
  record_type?: string;
9584
9875
  /** @description Filter by sender or recipient address (matches `from` OR `to` fields) */
9585
9876
  address?: string;
@@ -9785,6 +10076,13 @@ export interface paths {
9785
10076
  first_name?: string;
9786
10077
  last_name?: string;
9787
10078
  logo_url?: string;
10079
+ /**
10080
+ * @description Outcome of the member's Sumsub IDENTITY-document step.
10081
+ * `APPROVED` is the only value that permits issuing a card to this member.
10082
+ *
10083
+ * @enum {string}
10084
+ */
10085
+ identity_verification_status?: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
9788
10086
  };
9789
10087
  }[];
9790
10088
  pagination?: components["schemas"]["PaginationResponse"];
@@ -10748,11 +11046,11 @@ export interface components {
10748
11046
  */
10749
11047
  target_wallet_id: string | null;
10750
11048
  };
10751
- /** @description Bank postal address resolved from the bank identifier. Intentionally mirrors the CounterpartyBankingAddress shape so the payload can prefill a counterparty form as-is. */
11049
+ /** @description Registered bank address. `country_id`/`state_id` reference the `countries`/`states` dictionaries served by this API, so the payload can prefill a counterparty form as-is. */
10752
11050
  BankDataAddress: {
10753
11051
  /** @description Resolved `countries.id` of the bank’s country; null when it could not be resolved */
10754
11052
  country_id: number | null;
10755
- /** @description Always null today (reserved for future enrichment) */
11053
+ /** @description Resolved `states.id`; populated for US banks when available, null otherwise */
10756
11054
  state_id: number | null;
10757
11055
  city: string | null;
10758
11056
  postcode: string | null;
@@ -10760,46 +11058,28 @@ export interface components {
10760
11058
  street1: string | null;
10761
11059
  /** @description Always null today (reserved) */
10762
11060
  street2: string | null;
10763
- /** @description Always null today (reserved) */
10764
- description: string | null;
10765
11061
  };
10766
11062
  /**
10767
- * @description Normalised bank data resolved from a bank identifier. Which identifier fields are populated depends on the looked-up code type: IBAN → `iban` + `swift_bic` (plus `account_number`/`sort_code` for GB IBANs), SWIFT/BIC → `swift_bic`, US RTN → `routing_number`; identifier fields not applicable to the code type are null. `bank_name` and `address` are populated for every code type whenever they are available.
11063
+ * @description A bank matched by the looked-up code. The list holds at most one element today (full-code match; prefix search is not supported).
10768
11064
  * @example {
10769
- * "account_number": "31926819",
10770
- * "bank_name": "NATIONAL WESTMINSTER BANK PLC",
10771
- * "note": null,
10772
- * "routing_number": null,
10773
- * "swift_bic": "NWBKGB2LXXX",
10774
- * "iban": "GB29NWBK60161331926819",
10775
- * "sort_code": "601613",
11065
+ * "bank_name": "JPMORGAN CHASE BANK, NA",
11066
+ * "code": "021000021",
10776
11067
  * "address": {
10777
- * "country_id": 230,
10778
- * "state_id": null,
10779
- * "city": "London",
11068
+ * "country_id": 233,
11069
+ * "state_id": 1452,
11070
+ * "city": "NEW YORK",
10780
11071
  * "postcode": null,
10781
11072
  * "street1": null,
10782
- * "street2": null,
10783
- * "description": null
11073
+ * "street2": null
10784
11074
  * }
10785
11075
  * }
10786
11076
  */
10787
- BankData: {
10788
- /** @description Populated only for GB IBANs (22 chars): the embedded 8-digit account number (IBAN positions 14-22); null otherwise */
10789
- account_number: string | null;
11077
+ BankDataItem: {
10790
11078
  /** @description Registered bank name; null when unavailable */
10791
11079
  bank_name: string | null;
10792
- /** @description Always null today (reserved) */
10793
- note: string | null;
10794
- /** @description Populated only when the looked-up code is a US routing number (echoes the RTN); null otherwise */
10795
- routing_number: string | null;
10796
- /** @description SWIFT/BIC (ISO 9362); populated for SWIFT lookups and for IBAN lookups when the IBAN resolves to a BIC */
10797
- swift_bic: string | null;
10798
- /** @description Populated only for IBAN lookups (the normalised IBAN itself) */
10799
- iban: string | null;
10800
- /** @description Populated only for GB IBANs: the embedded 6-digit sort code (IBAN positions 8-14); null otherwise */
10801
- sort_code: string | null;
10802
- /** @description Bank postal address (always present) */
11080
+ /** @description Normalised code the bank was matched by (echoes the query `code`) */
11081
+ code: string;
11082
+ /** @description Registered bank address (always present) */
10803
11083
  address: components["schemas"]["BankDataAddress"];
10804
11084
  };
10805
11085
  /** @description Bank / rail account coordinates for a sub-account. Rail-dependent — some rails return only a subset of these. */
@@ -11285,7 +11565,24 @@ export interface components {
11285
11565
  amount_to?: number | null;
11286
11566
  order_type?: string;
11287
11567
  /** @enum {string} */
11288
- status?: "NEW" | "EXPECTED" | "PROCESSING" | "COMPLETE" | "FAILED" | "CANCELED" | "REFUNDED";
11568
+ status?: "NEW" | "PENDING" | "EXPECTED" | "PROCESSING" | "COMPLETE" | "FAILED" | "CANCELED" | "REFUNDED";
11569
+ /**
11570
+ * @description Compliance (transaction monitoring) state. Orthogonal to `status`: a `held` order is still PENDING and nothing has been credited — it resolves to COMPLETE or FAILED once the review finishes. `null` means the order was never subject to a compliance hold.
11571
+ * @enum {string|null}
11572
+ */
11573
+ compliance_state?: "held" | "released" | "rejected" | null;
11574
+ /** @description Why the order is (or was) held. */
11575
+ compliance_reason?: string | null;
11576
+ /**
11577
+ * Format: date-time
11578
+ * @description When the hold started.
11579
+ */
11580
+ compliance_held_at?: string | null;
11581
+ /**
11582
+ * Format: date-time
11583
+ * @description When the hold was released or rejected.
11584
+ */
11585
+ compliance_resolved_at?: string | null;
11289
11586
  /** Format: uuid */
11290
11587
  sub_account_id?: string | null;
11291
11588
  info?: string | null;
@@ -8035,27 +8035,70 @@ export interface components {
8035
8035
  country?: string | null;
8036
8036
  };
8037
8037
  };
8038
- /** @description Bank account information of the sender */
8038
+ /** @description Bank account information of the sender.
8039
+ *
8040
+ * Every key below is always present; a value the payment rail did not
8041
+ * provide is an empty string. Identifiers are placed by what the value
8042
+ * IS, not by what the rail called it: an IBAN is always in `iban` (never
8043
+ * in `account_number`) and a SWIFT/BIC is always in `swift_bic` (never in
8044
+ * `routing_number`), including for orders created before this became the
8045
+ * case. So `account_number` and `routing_number` carry domestic
8046
+ * identifiers only.
8047
+ * */
8039
8048
  L2FOriginatorAccountInfo: {
8040
8049
  /**
8041
- * @description Bank account number
8050
+ * @description Domestic bank account number. Empty when the sender's identifier is an IBAN.
8042
8051
  * @example 202504243736
8043
8052
  */
8044
8053
  account_number?: string;
8045
8054
  /**
8046
- * @description Routing number (for US payments)
8055
+ * @description Domestic routing number (US ABA and equivalents). Empty when the value is a BIC.
8047
8056
  * @example 91311229
8048
8057
  */
8049
8058
  routing_number?: string | null;
8050
- /** @description SWIFT BIC code (for international transfers) */
8059
+ /**
8060
+ * @description Sender's IBAN, for SEPA and SWIFT payments.
8061
+ * @example CZ6508000000192000145399
8062
+ */
8063
+ iban?: string | null;
8064
+ /**
8065
+ * @description SWIFT BIC code of the sender's bank (for international transfers)
8066
+ * @example FIOBCZPPXXX
8067
+ */
8051
8068
  swift_bic?: string | null;
8052
- /** @description Name of the bank/institution */
8069
+ /**
8070
+ * @description Sort code of the sender's bank (UK payments)
8071
+ * @example 60-16-13
8072
+ */
8073
+ sort_code?: string | null;
8074
+ /**
8075
+ * @description Currency of the sender's account, when the rail reports it
8076
+ * @example EUR
8077
+ */
8078
+ currency_code?: string | null;
8079
+ /**
8080
+ * @description Name of the sender's bank. Often empty — several rails do not report
8081
+ * it, and a value that merely repeats the sender's own name is omitted
8082
+ * rather than presented as a bank.
8083
+ *
8084
+ * @example Fio banka, a.s.
8085
+ */
8053
8086
  institution_name?: string | null;
8087
+ /**
8088
+ * @description Correspondent/intermediary bank, when the payment was routed through one
8089
+ * @example SSB PITTSBURGH
8090
+ */
8091
+ intermediary_institution_name?: string | null;
8054
8092
  };
8055
8093
  /**
8056
- * @description Standardized originator (sender) information for L2F ONRAMP orders.
8057
- * Available for order types: L2F_ACH_ONRAMP, L2F_WIRE_ONRAMP, L2F_SEPA_ONRAMP, L2F_SWIFT_ONRAMP.
8058
- * This field appears in order.meta.originator
8094
+ * @description Standardized originator (sender) information for incoming fiat payments,
8095
+ * exposed as `order.meta.originator`.
8096
+ *
8097
+ * The shape is the same whichever rail carried the payment — L2F, Brale,
8098
+ * BCB or Delos onramps all normalize into it. Sender details come from the
8099
+ * paying bank, so how much is populated varies by rail and by payment:
8100
+ * `profile.name` is almost always present, while the sender's address is
8101
+ * rarely reported and is often empty for every field.
8059
8102
  *
8060
8103
  * @example {
8061
8104
  * "profile": {
@@ -8071,8 +8114,12 @@ export interface components {
8071
8114
  * "account_information": {
8072
8115
  * "account_number": "202504243736",
8073
8116
  * "routing_number": "91311229",
8117
+ * "iban": "",
8074
8118
  * "swift_bic": "",
8075
- * "institution_name": ""
8119
+ * "sort_code": "",
8120
+ * "currency_code": "USD",
8121
+ * "institution_name": "JPMorgan Chase",
8122
+ * "intermediary_institution_name": ""
8076
8123
  * },
8077
8124
  * "reference": "20251016MMQFMP2U004005",
8078
8125
  * "memo": "bfgkp5w"
@@ -8080,7 +8127,20 @@ export interface components {
8080
8127
  */
8081
8128
  L2FOriginator: {
8082
8129
  profile?: components["schemas"]["L2FOriginatorProfile"];
8130
+ /** @description Sender's bank details. Present on incoming fiat payments only —
8131
+ * an internal transfer carries `wallet_information` instead.
8132
+ * */
8083
8133
  account_information?: components["schemas"]["L2FOriginatorAccountInfo"];
8134
+ /** @description Sending wallet, in place of `account_information` when the funds
8135
+ * came from another wallet on the platform rather than from a bank.
8136
+ * */
8137
+ wallet_information?: {
8138
+ /** Format: uuid */
8139
+ wallet_uuid?: string;
8140
+ wallet_name?: string;
8141
+ /** @description Source address for a crypto transfer; null for an internal balance transfer */
8142
+ crypto_address?: string | null;
8143
+ } | null;
8084
8144
  /**
8085
8145
  * @description Payment reference number (rail_reference from Railio)
8086
8146
  * @example 20251016MMQFMP2U004005
@@ -8092,6 +8152,36 @@ export interface components {
8092
8152
  */
8093
8153
  memo?: string | null;
8094
8154
  } | null;
8155
+ /**
8156
+ * @description Same shape for an inbound SWIFT payment: the sender is identified by an
8157
+ * IBAN and a BIC, so the domestic fields stay empty.
8158
+ *
8159
+ * @example {
8160
+ * "profile": {
8161
+ * "name": "Giovanni Belfiore",
8162
+ * "address": {
8163
+ * "address_line1": "",
8164
+ * "city": "",
8165
+ * "state": "",
8166
+ * "postal_code": "",
8167
+ * "country": ""
8168
+ * }
8169
+ * },
8170
+ * "account_information": {
8171
+ * "account_number": "",
8172
+ * "routing_number": "",
8173
+ * "iban": "CZ6508000000192000145399",
8174
+ * "swift_bic": "FIOBCZPPXXX",
8175
+ * "sort_code": "",
8176
+ * "currency_code": "USD",
8177
+ * "institution_name": "",
8178
+ * "intermediary_institution_name": ""
8179
+ * },
8180
+ * "reference": "5pdbjv4ev351",
8181
+ * "memo": "Fee for services"
8182
+ * }
8183
+ */
8184
+ L2FOriginatorSwiftExample: components["schemas"]["L2FOriginator"];
8095
8185
  /**
8096
8186
  * @description Optional array of document objects to attach to the order.
8097
8187
  * Documents should be uploaded to a storage service beforehand and only URLs should be provided.
@@ -1020,17 +1020,17 @@ export interface components {
1020
1020
  * @default UNVERIFIED
1021
1021
  * @enum {string|null}
1022
1022
  */
1023
- kyc_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | null;
1023
+ kyc_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | null;
1024
1024
  /**
1025
1025
  * @default UNVERIFIED
1026
1026
  * @enum {string}
1027
1027
  */
1028
- identity_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1028
+ identity_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1029
1029
  /**
1030
1030
  * @default UNVERIFIED
1031
1031
  * @enum {string}
1032
1032
  */
1033
- face_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1033
+ face_verification_status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1034
1034
  readonly profile_source: string | null;
1035
1035
  readonly profile_synced_at: string | null;
1036
1036
  referral_name: string | null;
@@ -1306,7 +1306,7 @@ export interface components {
1306
1306
  * @default UNVERIFIED
1307
1307
  * @enum {string}
1308
1308
  */
1309
- status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1309
+ status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1310
1310
  readonly business_name?: string;
1311
1311
  readonly first_name?: string;
1312
1312
  readonly last_name?: string;
@@ -1689,7 +1689,7 @@ export interface components {
1689
1689
  * @default UNVERIFIED
1690
1690
  * @enum {string}
1691
1691
  */
1692
- status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1692
+ status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1693
1693
  /** @enum {string|null} */
1694
1694
  employment_status?: "EMPLOYEE" | "SELF_EMPLOYED" | "RETIRED" | "UNEMPLOYED" | "STUDENT" | "OTHER" | null;
1695
1695
  employment_description?: string | null;
@@ -1761,7 +1761,7 @@ export interface components {
1761
1761
  WalletKycRailDto: {
1762
1762
  message: string | null;
1763
1763
  /** @enum {string} */
1764
- readonly status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1764
+ readonly status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW";
1765
1765
  /** @default false */
1766
1766
  terms_confirmed: boolean;
1767
1767
  extra_actions?: components["schemas"]["WalletKycRailExtraActionDto"][];
@@ -81,6 +81,12 @@ export declare namespace API {
81
81
  };
82
82
  }
83
83
  }
84
+ namespace BankData {
85
+ namespace GetByCode {
86
+ type Request = pathsV1Frontend['/frontend/bank-data']['get']['parameters']['query'];
87
+ type Response = pathsV1Frontend['/frontend/bank-data']['get']['responses'][200]['content']['application/json'];
88
+ }
89
+ }
84
90
  namespace Cards {
85
91
  namespace Config {
86
92
  type IssuingProgramOrderType = {
@@ -285,6 +285,7 @@ export declare enum KYCStatuses {
285
285
  PENDING = "PENDING",
286
286
  PROCESSING = "PROCESSING",
287
287
  HOLD = "HOLD",
288
+ NEEDS_ATTENTION = "NEEDS_ATTENTION",
288
289
  DOUBLE = "DOUBLE",
289
290
  SOFT_REJECT = "SOFT_REJECT",
290
291
  REJECT = "REJECT",
package/dist/constants.js CHANGED
@@ -300,6 +300,7 @@ export var KYCStatuses;
300
300
  KYCStatuses["PENDING"] = "PENDING";
301
301
  KYCStatuses["PROCESSING"] = "PROCESSING";
302
302
  KYCStatuses["HOLD"] = "HOLD";
303
+ KYCStatuses["NEEDS_ATTENTION"] = "NEEDS_ATTENTION";
303
304
  KYCStatuses["DOUBLE"] = "DOUBLE";
304
305
  KYCStatuses["SOFT_REJECT"] = "SOFT_REJECT";
305
306
  KYCStatuses["REJECT"] = "REJECT";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.32",
3
+ "version": "1.36.34",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",