squarefi-bff-api-module 1.36.9 → 1.36.11

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.
@@ -43,7 +43,7 @@ export const orders = {
43
43
  },
44
44
  create: {
45
45
  byOrderType: {
46
- [OrderType.TRANSFER_INTERNAL]: (data) => apiClientV1.postRequest('/v2/orders/TRA', {
46
+ [OrderType.TRANSFER_INTERNAL]: (data) => apiClientV1.postRequest('/v2/orders/TRANSFER_INTERNAL', {
47
47
  data,
48
48
  }),
49
49
  [OrderType.HIFI_WIRE_ONRAMP]: (data) => apiClientV1.postRequest('/v2/orders/HIFI_WIRE_ONRAMP', {
@@ -571,6 +571,10 @@ export interface paths {
571
571
  page?: number;
572
572
  type?: "BUSINESS" | "INDIVIDUAL";
573
573
  search?: string;
574
+ /** @description Field to sort by. When omitted, defaults to pinned accounts first, then newest. */
575
+ sort_by?: "created_at" | "type" | "name" | "nickname" | "email" | "phone";
576
+ /** @description Sort direction (defaults to ASC). Ignored without `sort_by`. */
577
+ sort_order?: "ASC" | "DESC";
574
578
  };
575
579
  header?: never;
576
580
  path?: never;
@@ -6897,17 +6901,17 @@ export interface components {
6897
6901
  * Format: uuid
6898
6902
  * @description Unique account identifier
6899
6903
  */
6900
- id?: string;
6904
+ id: string;
6901
6905
  /**
6902
6906
  * @description Account holder name
6903
6907
  * @example Acme Corp
6904
6908
  */
6905
- name?: string;
6909
+ name: string;
6906
6910
  /**
6907
6911
  * @description Account type
6908
6912
  * @enum {string}
6909
6913
  */
6910
- type?: "BUSINESS" | "INDIVIDUAL";
6914
+ type: "BUSINESS" | "INDIVIDUAL";
6911
6915
  /**
6912
6916
  * Format: uuid
6913
6917
  * @description Associated wallet ID
@@ -6920,17 +6924,19 @@ export interface components {
6920
6924
  /** @description Contact phone */
6921
6925
  phone?: string | null;
6922
6926
  /** @description Whether account is pinned/favorite */
6923
- is_pinned?: boolean;
6927
+ is_pinned: boolean;
6924
6928
  /** @description Whether this is a self-owned account */
6925
- is_self?: boolean;
6929
+ is_self: boolean;
6930
+ /**
6931
+ * @description Whether the account has at least one active INTERNAL destination (on-platform receiver). Always present; computed on list and get-by-id, false on create/update.
6932
+ * @default false
6933
+ */
6934
+ has_internal_destination: boolean;
6926
6935
  /** Format: date-time */
6927
- created_at?: string;
6936
+ created_at: string;
6928
6937
  /** Format: date-time */
6929
6938
  updated_at?: string;
6930
- is_deleted?: boolean | null;
6931
- /** Format: date-time */
6932
- deleted_at?: string | null;
6933
- /** @description Number of active destinations */
6939
+ /** @description Number of destinations */
6934
6940
  destinations_count?: number;
6935
6941
  };
6936
6942
  /** @description Bank/beneficiary postal address */
@@ -7555,12 +7561,10 @@ export interface components {
7555
7561
  * @description External vendor account ID
7556
7562
  */
7557
7563
  vendor_account_id?: string | null;
7558
- /** @description Bank account details for deposits. Returned null when deposits are disabled for the account. */
7564
+ /** @description Bank account details for deposits, derived from deposit_instructions. Returned null when deposits are disabled for the account. */
7559
7565
  account_details?: components["schemas"]["BankAccountDetails"];
7560
- /** @description Deposit requisites. Returned null when deposits are disabled for the account. */
7566
+ /** @description Deposit requisites (source of truth). Returned null when deposits are disabled for the account. */
7561
7567
  deposit_instructions?: Record<string, never> | null;
7562
- current_balance?: number | null;
7563
- available_balance?: number | null;
7564
7568
  /** @description Additional metadata from vendor */
7565
7569
  meta?: Record<string, never> | null;
7566
7570
  /**
@@ -931,6 +931,10 @@ export interface paths {
931
931
  limit?: number;
932
932
  type?: "BUSINESS" | "INDIVIDUAL";
933
933
  search?: string;
934
+ /** @description Field to sort by. When omitted, defaults to pinned accounts first, then newest. */
935
+ sort_by?: "created_at" | "type" | "name" | "nickname" | "email" | "phone";
936
+ /** @description Sort direction (defaults to ASC). Ignored without `sort_by`. */
937
+ sort_order?: "ASC" | "DESC";
934
938
  };
935
939
  header?: never;
936
940
  path: {
@@ -5805,6 +5809,95 @@ export interface paths {
5805
5809
  patch?: never;
5806
5810
  trace?: never;
5807
5811
  };
5812
+ "/frontend/orders/{order_id}/comment": {
5813
+ parameters: {
5814
+ query?: never;
5815
+ header?: never;
5816
+ path?: never;
5817
+ cookie?: never;
5818
+ };
5819
+ get?: never;
5820
+ /**
5821
+ * Set or clear an order's comment
5822
+ * @description Saves (or edits) a single free-text comment attached to an order
5823
+ * (incoming or outgoing). Useful for noting who an incoming crypto deposit
5824
+ * came from. Send `comment: null` or an empty string to clear it.
5825
+ *
5826
+ * The response includes the saved `comment` plus audit metadata
5827
+ * (`comment_updated_by` = editor's user_data uuid, `comment_updated_at`).
5828
+ *
5829
+ * **Access Control**: caller must be `admin` or `owner` of the order's wallet.
5830
+ *
5831
+ */
5832
+ put: {
5833
+ parameters: {
5834
+ query?: never;
5835
+ header?: never;
5836
+ path: {
5837
+ order_id: string;
5838
+ };
5839
+ cookie?: never;
5840
+ };
5841
+ requestBody: {
5842
+ content: {
5843
+ "application/json": {
5844
+ /** Format: uuid */
5845
+ wallet_id: string;
5846
+ /** @description Comment text. `null` or empty clears the comment. */
5847
+ comment?: string | null;
5848
+ };
5849
+ };
5850
+ };
5851
+ responses: {
5852
+ /** @description Comment saved */
5853
+ 200: {
5854
+ headers: {
5855
+ [name: string]: unknown;
5856
+ };
5857
+ content: {
5858
+ "application/json": {
5859
+ /** @example true */
5860
+ success?: boolean;
5861
+ data?: components["schemas"]["Order"];
5862
+ };
5863
+ };
5864
+ };
5865
+ /** @description Validation error (e.g. comment too long) */
5866
+ 400: {
5867
+ headers: {
5868
+ [name: string]: unknown;
5869
+ };
5870
+ content: {
5871
+ "application/json": components["schemas"]["ErrorResponse"];
5872
+ };
5873
+ };
5874
+ /** @description Access denied (insufficient wallet role / wrong wallet) */
5875
+ 403: {
5876
+ headers: {
5877
+ [name: string]: unknown;
5878
+ };
5879
+ content: {
5880
+ "application/json": components["schemas"]["ErrorResponse"];
5881
+ };
5882
+ };
5883
+ /** @description Order not found */
5884
+ 404: {
5885
+ headers: {
5886
+ [name: string]: unknown;
5887
+ };
5888
+ content: {
5889
+ "application/json": components["schemas"]["ErrorResponse"];
5890
+ };
5891
+ };
5892
+ };
5893
+ };
5894
+ post?: never;
5895
+ delete?: never;
5896
+ options?: never;
5897
+ head?: never;
5898
+ patch?: never;
5899
+ trace?: never;
5900
+ };
5808
5901
  "/frontend/orders/types": {
5809
5902
  parameters: {
5810
5903
  query?: never;
@@ -6204,8 +6297,11 @@ export interface paths {
6204
6297
  wallet_id: string;
6205
6298
  /** Format: uuid */
6206
6299
  from_currency_id: string;
6207
- /** Format: uuid */
6208
- to_wallet_id: string;
6300
+ /**
6301
+ * Format: uuid
6302
+ * @description Receiver — a counterparty destination of type INTERNAL (points at the target wallet)
6303
+ */
6304
+ counterparty_destination_id: string;
6209
6305
  amount: number;
6210
6306
  request_id: string;
6211
6307
  };
@@ -9945,6 +10041,11 @@ export interface components {
9945
10041
  is_pinned: boolean;
9946
10042
  /** @description Whether this is the wallet owner’s own (self) account */
9947
10043
  is_self: boolean;
10044
+ /**
10045
+ * @description Whether the account has at least one active INTERNAL destination (on-platform receiver). Always present; computed on list and get-by-id, false on create/update.
10046
+ * @default false
10047
+ */
10048
+ has_internal_destination: boolean;
9948
10049
  /** Format: date-time */
9949
10050
  created_at: string;
9950
10051
  };
@@ -10478,12 +10579,10 @@ export interface components {
10478
10579
  /** Format: uuid */
10479
10580
  destination_currency?: string;
10480
10581
  vendor_account_id?: string | null;
10481
- /** @description Bank account details for deposits. Returned null when deposits are disabled for the account. */
10582
+ /** @description Bank account details for deposits, derived from deposit_instructions. Returned null when deposits are disabled for the account. */
10482
10583
  account_details?: Record<string, never> | null;
10483
- /** @description Deposit requisites. Returned null when deposits are disabled for the account. */
10584
+ /** @description Deposit requisites (source of truth). Returned null when deposits are disabled for the account. */
10484
10585
  deposit_instructions?: Record<string, never> | null;
10485
- current_balance?: number | null;
10486
- available_balance?: number | null;
10487
10586
  meta?: Record<string, never> | null;
10488
10587
  /** Format: date-time */
10489
10588
  created_at?: string;
@@ -754,67 +754,6 @@ export interface paths {
754
754
  patch?: never;
755
755
  trace?: never;
756
756
  };
757
- "/api/kyc/sumsub/generate_token": {
758
- parameters: {
759
- query?: never;
760
- header?: never;
761
- path?: never;
762
- cookie?: never;
763
- };
764
- get?: never;
765
- put?: never;
766
- /**
767
- * Generate Sumsub access token
768
- * @deprecated
769
- * @description Generate a Sumsub access token for KYC verification
770
- */
771
- post: {
772
- parameters: {
773
- query?: never;
774
- header?: never;
775
- path?: never;
776
- cookie?: never;
777
- };
778
- requestBody: {
779
- content: {
780
- "application/json": {
781
- /** @description The user data ID */
782
- user_data_id: number;
783
- };
784
- };
785
- };
786
- responses: {
787
- /** @description Sumsub access token */
788
- 200: {
789
- headers: {
790
- [name: string]: unknown;
791
- };
792
- content: {
793
- "application/json": {
794
- /** @example .-v2 */
795
- token?: string;
796
- /** @example 232323 */
797
- user_data_id?: number;
798
- };
799
- };
800
- };
801
- /** @description Bad request */
802
- 400: {
803
- headers: {
804
- [name: string]: unknown;
805
- };
806
- content: {
807
- "application/json": components["schemas"]["Error"];
808
- };
809
- };
810
- };
811
- };
812
- delete?: never;
813
- options?: never;
814
- head?: never;
815
- patch?: never;
816
- trace?: never;
817
- };
818
757
  "/crypto": {
819
758
  parameters: {
820
759
  query?: never;
@@ -5208,18 +5147,8 @@ export interface paths {
5208
5147
  integration_vendor_id?: string;
5209
5148
  /** @description Vendor's account ID */
5210
5149
  vendor_account_id?: string;
5211
- /** @description Status at vendor side (OPEN, CLOSED, etc.) */
5212
- vendor_status?: string;
5213
- /** @description Current balance */
5214
- current_balance?: number;
5215
- /** @description Available balance for withdrawal */
5216
- available_balance?: number;
5217
5150
  /** @description Customer name on the account */
5218
5151
  customer_name?: string;
5219
- /** @description Asset type identifier (e.g., FIAT_TESTNET_USD) */
5220
- asset_type_id?: string;
5221
- /** @description Deposit type (PUSH, PULL) */
5222
- deposit_type?: string;
5223
5152
  /** @description Additional metadata */
5224
5153
  meta?: Record<string, never>;
5225
5154
  /** @description Rail/vendor specific account details */
@@ -5943,6 +5872,9 @@ export interface paths {
5943
5872
  * Two transactions are created atomically: `WITHDRAWAL_CRYPTO_INTERNAL` (sender) and `DEPOSIT_CRYPTO_INTERNAL` (receiver).
5944
5873
  * Fee and network_fee are always 0.
5945
5874
  *
5875
+ * The receiver is addressed by `counterparty_destination_id` — a counterparty
5876
+ * destination of type `INTERNAL` that points at the target wallet.
5877
+ *
5946
5878
  */
5947
5879
  post: {
5948
5880
  parameters: {
@@ -5966,9 +5898,11 @@ export interface paths {
5966
5898
  from_currency_id: string;
5967
5899
  /**
5968
5900
  * Format: uuid
5969
- * @description Destination wallet ID
5901
+ * @description Receiver, addressed by a counterparty destination of type `INTERNAL`
5902
+ * (points at the target wallet).
5903
+ *
5970
5904
  */
5971
- to_wallet_id: string;
5905
+ counterparty_destination_id: string;
5972
5906
  /** @description Amount to transfer */
5973
5907
  amount: number;
5974
5908
  /**
@@ -3407,6 +3407,80 @@ export interface paths {
3407
3407
  patch?: never;
3408
3408
  trace?: never;
3409
3409
  };
3410
+ "/admin/orders/{order_id}/comment": {
3411
+ parameters: {
3412
+ query?: never;
3413
+ header?: never;
3414
+ path?: never;
3415
+ cookie?: never;
3416
+ };
3417
+ get?: never;
3418
+ /**
3419
+ * Set or clear an order's comment
3420
+ * @description Saves (or edits) the single free-text comment attached to an order
3421
+ * (incoming or outgoing). Tenant-scoped: the order must belong to the
3422
+ * caller's tenant. Send `comment: null` or an empty string to clear it.
3423
+ *
3424
+ */
3425
+ put: {
3426
+ parameters: {
3427
+ query?: never;
3428
+ header?: never;
3429
+ path: {
3430
+ /** @description Order ID to comment on */
3431
+ order_id: string;
3432
+ };
3433
+ cookie?: never;
3434
+ };
3435
+ requestBody: {
3436
+ content: {
3437
+ "application/json": {
3438
+ /** @description Comment text. `null` or empty clears the comment. */
3439
+ comment?: string | null;
3440
+ };
3441
+ };
3442
+ };
3443
+ responses: {
3444
+ /** @description Comment saved */
3445
+ 200: {
3446
+ headers: {
3447
+ [name: string]: unknown;
3448
+ };
3449
+ content: {
3450
+ "application/json": {
3451
+ /** @example true */
3452
+ success?: boolean;
3453
+ data?: components["schemas"]["TenantOrder"];
3454
+ };
3455
+ };
3456
+ };
3457
+ /** @description Validation error (e.g. comment too long) */
3458
+ 400: {
3459
+ headers: {
3460
+ [name: string]: unknown;
3461
+ };
3462
+ content: {
3463
+ "application/json": components["schemas"]["ErrorResponse"];
3464
+ };
3465
+ };
3466
+ /** @description Order not found */
3467
+ 404: {
3468
+ headers: {
3469
+ [name: string]: unknown;
3470
+ };
3471
+ content: {
3472
+ "application/json": components["schemas"]["ErrorResponse"];
3473
+ };
3474
+ };
3475
+ };
3476
+ };
3477
+ post?: never;
3478
+ delete?: never;
3479
+ options?: never;
3480
+ head?: never;
3481
+ patch?: never;
3482
+ trace?: never;
3483
+ };
3410
3484
  "/admin/orders/{order_id}": {
3411
3485
  parameters: {
3412
3486
  query?: never;
@@ -7516,25 +7590,27 @@ export interface components {
7516
7590
  };
7517
7591
  CounterpartyAccount: {
7518
7592
  /** Format: uuid */
7519
- id?: string;
7520
- name?: string;
7593
+ id: string;
7594
+ name: string;
7521
7595
  /** @enum {string} */
7522
- type?: "BUSINESS" | "INDIVIDUAL";
7596
+ type: "BUSINESS" | "INDIVIDUAL";
7523
7597
  /** Format: uuid */
7524
7598
  wallet_id?: string;
7525
7599
  nickname?: string | null;
7526
7600
  email?: string | null;
7527
7601
  phone?: string | null;
7528
- is_pinned?: boolean;
7529
- is_self?: boolean;
7602
+ is_pinned: boolean;
7603
+ is_self: boolean;
7604
+ /**
7605
+ * @description Whether the account has at least one active INTERNAL destination (on-platform receiver). Always present; computed on list and get-by-id, false on create/update.
7606
+ * @default false
7607
+ */
7608
+ has_internal_destination: boolean;
7530
7609
  /** Format: date-time */
7531
- created_at?: string;
7610
+ created_at: string;
7532
7611
  /** Format: date-time */
7533
7612
  updated_at?: string;
7534
- is_deleted?: boolean | null;
7535
- /** Format: date-time */
7536
- deleted_at?: string | null;
7537
- /** @description Number of active destinations */
7613
+ /** @description Number of destinations */
7538
7614
  destinations_count?: number;
7539
7615
  };
7540
7616
  BankingData: {
@@ -1860,7 +1860,12 @@ export interface components {
1860
1860
  vendors_and_counterparties?: ("SELF" | "MERCHANTS_SUPPLIERS" | "CUSTOMERS" | "EMPLOYEES" | "CONTRACTORS" | "FRIENDS" | "FAMILY")[] | null;
1861
1861
  stablecoin_primary_purpose?: string[] | null;
1862
1862
  stablecoin_primary_purpose_other?: string | null;
1863
+ stablecoin_activity?: string | null;
1863
1864
  pep_declaration?: boolean | null;
1865
+ pep_full_name?: string | null;
1866
+ pep_relationship?: string | null;
1867
+ pep_country?: string | null;
1868
+ terms_and_conditions?: boolean | null;
1864
1869
  expected_monthly_transactions_count?: number | null;
1865
1870
  outgoing_payment_purposes?: string[] | null;
1866
1871
  incoming_payment_purposes?: string[] | null;
@@ -1991,7 +1996,12 @@ export interface components {
1991
1996
  vendors_and_counterparties?: ("SELF" | "MERCHANTS_SUPPLIERS" | "CUSTOMERS" | "EMPLOYEES" | "CONTRACTORS" | "FRIENDS" | "FAMILY")[] | null;
1992
1997
  stablecoin_primary_purpose?: string[] | null;
1993
1998
  stablecoin_primary_purpose_other?: string | null;
1999
+ stablecoin_activity?: string | null;
1994
2000
  pep_declaration?: boolean | null;
2001
+ pep_full_name?: string | null;
2002
+ pep_relationship?: string | null;
2003
+ pep_country?: string | null;
2004
+ terms_and_conditions?: boolean | null;
1995
2005
  expected_monthly_transactions_count?: number | null;
1996
2006
  outgoing_payment_purposes?: string[] | null;
1997
2007
  incoming_payment_purposes?: string[] | null;
@@ -2291,6 +2301,11 @@ export interface components {
2291
2301
  /** @enum {string} */
2292
2302
  default_theme_mode: "dark" | "light";
2293
2303
  enable_kyc: boolean;
2304
+ /** @example [
2305
+ * "individual",
2306
+ * "business"
2307
+ * ] */
2308
+ allowed_kyc_entity_types: ("individual" | "business" | "universal")[] | null;
2294
2309
  tg_bot_name: string | null;
2295
2310
  theme_switch: boolean;
2296
2311
  enable_exchange: boolean;
@@ -1365,17 +1365,8 @@ export declare namespace API {
1365
1365
  }
1366
1366
  namespace ByOrderType {
1367
1367
  namespace INTERNAL_TRANSFER {
1368
- interface Request {
1369
- wallet_id: string;
1370
- from_crypto_uuid: string;
1371
- to_wallet_id: string;
1372
- to_wallet_uuid: string;
1373
- amount: number;
1374
- request_id: string;
1375
- is_subtract: boolean;
1376
- is_reverse: boolean;
1377
- }
1378
- type Response = null;
1368
+ type Request = pathsV1Legacy['/v2/orders/TRANSFER_INTERNAL']['post']['requestBody']['content']['application/json'];
1369
+ type Response = pathsV1Legacy['/v2/orders/TRANSFER_INTERNAL']['post']['responses']['200']['content']['application/json'];
1379
1370
  }
1380
1371
  namespace HIFI_WIRE_ONRAMP {
1381
1372
  type Request = Common.Request.OrderWithCounterpartyParams;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.9",
3
+ "version": "1.36.11",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",