squarefi-bff-api-module 1.35.0 → 1.35.2

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.
@@ -7142,6 +7142,10 @@ export interface paths {
7142
7142
  role?: "owner" | "admin" | "manager" | "user";
7143
7143
  /** @description Include shared wallets (via wallets_users table) */
7144
7144
  include_shared?: boolean;
7145
+ /** @description Field to sort the merged owned + shared wallet list by */
7146
+ sort_by?: "created_at" | "updated_at" | "name";
7147
+ /** @description Sort direction (case-insensitive) */
7148
+ sort_order?: "ASC" | "DESC";
7145
7149
  };
7146
7150
  header?: never;
7147
7151
  path?: never;
@@ -7157,30 +7161,56 @@ export interface paths {
7157
7161
  content: {
7158
7162
  "application/json": {
7159
7163
  /** @example true */
7160
- success?: boolean;
7161
- data?: {
7164
+ success: boolean;
7165
+ data: {
7162
7166
  /** Format: uuid */
7163
- uuid?: string;
7167
+ uuid: string;
7164
7168
  /** @description Deprecated field */
7165
7169
  type?: string;
7170
+ /** @description Wallet display name (mirrors POST/PATCH responses) */
7171
+ name: string | null;
7172
+ /** @description Avatar URL for the wallet */
7173
+ logo_url: string | null;
7166
7174
  /** Format: uuid */
7167
- tenant_id?: string;
7175
+ tenant_id: string;
7168
7176
  /** Format: date-time */
7169
- created_at?: string;
7177
+ created_at: string;
7170
7178
  /** Format: date-time */
7171
- updated_at?: string;
7179
+ updated_at: string;
7180
+ /**
7181
+ * @description Legacy alias of `access_role`. Kept for backward compatibility —
7182
+ * always equals `access_role`. Prefer `access_role` in new code.
7183
+ *
7184
+ * @enum {string}
7185
+ */
7186
+ role: "owner" | "admin" | "manager" | "user";
7172
7187
  /**
7173
7188
  * @description User's access role for this wallet
7174
7189
  * @enum {string}
7175
7190
  */
7176
- access_role?: "owner" | "admin" | "manager" | "user";
7191
+ access_role: "owner" | "admin" | "manager" | "user";
7177
7192
  /** @description True if user is the wallet owner */
7178
- is_owner?: boolean;
7193
+ is_owner: boolean;
7194
+ /** @description KYC entity attached to the wallet (joined from `kyc_entity`).
7195
+ * `null` when the wallet has no KYC entity yet.
7196
+ * */
7197
+ kyc_info: {
7198
+ /** @description KYC entity type (e.g. INDIVIDUAL, BUSINESS) */
7199
+ type: string;
7200
+ /** @description KYC verification status (e.g. UNVERIFIED, PENDING, APPROVED, REJECTED) */
7201
+ status: string;
7202
+ business_name: string | null;
7203
+ first_name: string | null;
7204
+ last_name: string | null;
7205
+ email: string | null;
7206
+ phone: string | null;
7207
+ } | null;
7179
7208
  }[];
7180
- pagination?: {
7181
- offset?: number;
7182
- limit?: number;
7183
- total?: number;
7209
+ pagination: {
7210
+ offset: number;
7211
+ limit: number;
7212
+ total: number;
7213
+ has_more: boolean;
7184
7214
  };
7185
7215
  };
7186
7216
  };
@@ -7238,21 +7268,36 @@ export interface paths {
7238
7268
  content: {
7239
7269
  "application/json": {
7240
7270
  /** @example true */
7241
- success?: boolean;
7242
- data?: {
7271
+ success: boolean;
7272
+ data: {
7243
7273
  /** Format: uuid */
7244
- uuid?: string;
7274
+ uuid: string;
7245
7275
  /** @description Deprecated field */
7246
7276
  type?: string;
7247
7277
  /** @example Golden Vault 42 */
7248
- name?: string;
7278
+ name: string | null;
7279
+ logo_url: string | null;
7249
7280
  /** Format: uuid */
7250
- tenant_id?: string;
7281
+ tenant_id: string;
7251
7282
  /** Format: date-time */
7252
- created_at?: string;
7283
+ created_at: string;
7284
+ /** Format: date-time */
7285
+ updated_at: string;
7286
+ /** @description Mirrors the GET-wallet shape. Always `null` on create
7287
+ * (no `kyc_entity` row exists yet).
7288
+ * */
7289
+ kyc_info: {
7290
+ type: string;
7291
+ status: string;
7292
+ business_name: string | null;
7293
+ first_name: string | null;
7294
+ last_name: string | null;
7295
+ email: string | null;
7296
+ phone: string | null;
7297
+ } | null;
7253
7298
  };
7254
7299
  /** @example Wallet created successfully */
7255
- message?: string;
7300
+ message: string;
7256
7301
  };
7257
7302
  };
7258
7303
  };
@@ -7493,33 +7538,61 @@ export interface paths {
7493
7538
  content: {
7494
7539
  "application/json": {
7495
7540
  /** @example true */
7496
- success?: boolean;
7497
- data?: {
7541
+ success: boolean;
7542
+ data: {
7543
+ /** Format: uuid */
7544
+ uuid: string;
7498
7545
  /** @description Deprecated field */
7499
7546
  type?: string;
7547
+ name: string | null;
7548
+ logo_url: string | null;
7500
7549
  /** Format: uuid */
7501
- tenant_id?: string;
7550
+ tenant_id: string;
7502
7551
  /** Format: date-time */
7503
- created_at?: string;
7552
+ created_at: string;
7504
7553
  /** Format: date-time */
7505
- updated_at?: string;
7554
+ updated_at: string;
7555
+ kyc_info: {
7556
+ type: string;
7557
+ status: string;
7558
+ business_name: string | null;
7559
+ first_name: string | null;
7560
+ last_name: string | null;
7561
+ email: string | null;
7562
+ phone: string | null;
7563
+ } | null;
7506
7564
  /** @description Aggregated crypto balances */
7507
- balance?: {
7508
- symbol?: string;
7509
- icon?: string;
7510
- name?: string;
7511
- amount?: number;
7512
- fiat_amount?: number;
7513
- decimal?: number;
7565
+ balance: {
7566
+ symbol: string;
7567
+ icon?: string | null;
7568
+ name: string;
7569
+ is_crypto: boolean;
7570
+ decimal: number;
7571
+ amount: number;
7572
+ fiat_amount: number;
7573
+ details: Record<string, never>[];
7514
7574
  }[];
7575
+ fiat_accounts: Record<string, never>[];
7515
7576
  /** @description User's base currency */
7516
- base_currency?: string;
7517
- /** @description Total fiat balance */
7518
- fiat_total?: number;
7519
- /** @description Total crypto balance in base currency */
7520
- crypto_total?: number;
7521
- /** @description Combined total balance */
7522
- total_amount?: number;
7577
+ base_currency: string | null;
7578
+ fiat_total: number;
7579
+ crypto_total: number;
7580
+ pending_balance: number;
7581
+ total_amount: number;
7582
+ /**
7583
+ * @description Legacy alias of `access_role`. Always equals `access_role` when
7584
+ * present. Kept for backward compatibility — prefer `access_role`.
7585
+ * Only present when called via member access.
7586
+ *
7587
+ * @enum {string}
7588
+ */
7589
+ role?: "owner" | "admin" | "manager" | "user";
7590
+ /**
7591
+ * @description User's role for this wallet (only present when called via member access)
7592
+ * @enum {string}
7593
+ */
7594
+ access_role?: "owner" | "admin" | "manager" | "user";
7595
+ is_owner?: boolean;
7523
7596
  };
7524
7597
  };
7525
7598
  };
@@ -7591,21 +7664,34 @@ export interface paths {
7591
7664
  content: {
7592
7665
  "application/json": {
7593
7666
  /** @example true */
7594
- success?: boolean;
7595
- data?: {
7667
+ success: boolean;
7668
+ data: {
7596
7669
  /** Format: uuid */
7597
- uuid?: string;
7670
+ uuid: string;
7598
7671
  /** @example My Updated Wallet */
7599
- name?: string;
7672
+ name: string | null;
7673
+ logo_url: string | null;
7600
7674
  /** Format: uuid */
7601
- tenant_id?: string;
7675
+ tenant_id: string;
7602
7676
  /** Format: date-time */
7603
- created_at?: string;
7677
+ created_at: string;
7604
7678
  /** Format: date-time */
7605
- updated_at?: string;
7679
+ updated_at: string;
7680
+ /** @description KYC entity attached to the wallet (joined from `kyc_entity`).
7681
+ * `null` when the wallet has no KYC entity yet.
7682
+ * */
7683
+ kyc_info: {
7684
+ type: string;
7685
+ status: string;
7686
+ business_name: string | null;
7687
+ first_name: string | null;
7688
+ last_name: string | null;
7689
+ email: string | null;
7690
+ phone: string | null;
7691
+ } | null;
7606
7692
  };
7607
7693
  /** @example Wallet updated successfully */
7608
- message?: string;
7694
+ message: string;
7609
7695
  };
7610
7696
  };
7611
7697
  };
@@ -7688,23 +7774,23 @@ export interface paths {
7688
7774
  content: {
7689
7775
  "application/json": {
7690
7776
  /** @example true */
7691
- success?: boolean;
7692
- data?: {
7777
+ success: boolean;
7778
+ data: {
7693
7779
  /** Format: uuid */
7694
- uuid?: string;
7780
+ uuid: string;
7695
7781
  /** @description Deprecated field */
7696
7782
  type?: string;
7697
7783
  /** Format: uuid */
7698
- tenant_id?: string;
7784
+ tenant_id: string;
7699
7785
  /** Format: date-time */
7700
- created_at?: string;
7786
+ created_at: string;
7701
7787
  /** Format: date-time */
7702
- updated_at?: string;
7788
+ updated_at: string;
7703
7789
  /** @description Array of balance records */
7704
- balance?: {
7790
+ balance: {
7705
7791
  /** Format: uuid */
7706
- crypto_id?: string;
7707
- amount?: number;
7792
+ crypto_id: string;
7793
+ amount: number;
7708
7794
  crypto?: {
7709
7795
  /** @description Metadata about the crypto asset */
7710
7796
  meta?: {
@@ -7810,27 +7896,28 @@ export interface paths {
7810
7896
  content: {
7811
7897
  "application/json": {
7812
7898
  /** @example true */
7813
- success?: boolean;
7814
- data?: {
7899
+ success: boolean;
7900
+ data: {
7815
7901
  /** Format: uuid */
7816
- uuid?: string;
7902
+ uuid: string;
7817
7903
  /** @description The blockchain address */
7818
- address?: string;
7819
- /** @description Chain ID */
7820
- chain?: string;
7904
+ address: string;
7905
+ /** @description Numeric chain ID */
7906
+ chain: number;
7821
7907
  /** Format: uuid */
7822
- wallet_uuid?: string;
7823
- is_active?: boolean;
7824
- label?: string;
7908
+ wallet_uuid: string;
7909
+ is_active: boolean;
7910
+ label: string | null;
7825
7911
  /** @enum {string} */
7826
- type?: "utila" | "processing";
7912
+ type: "utila" | "processing";
7827
7913
  /** Format: date-time */
7828
- created_at?: string;
7914
+ created_at: string;
7829
7915
  }[];
7830
- pagination?: {
7831
- offset?: number;
7832
- limit?: number;
7833
- total?: number;
7916
+ pagination: {
7917
+ offset: number;
7918
+ limit: number;
7919
+ total: number;
7920
+ has_more: boolean;
7834
7921
  };
7835
7922
  };
7836
7923
  };
@@ -7866,7 +7953,80 @@ export interface paths {
7866
7953
  path?: never;
7867
7954
  cookie?: never;
7868
7955
  };
7869
- get?: never;
7956
+ /**
7957
+ * Get crypto address by chain
7958
+ * @description Returns the single crypto address for the given wallet and chain.
7959
+ * Useful when the caller already knows which chain they need and wants
7960
+ * to avoid paginated list traversal.
7961
+ *
7962
+ * **Authentication**: Bearer token with x-tenant-id header required
7963
+ *
7964
+ * **Access Control**: Any user with access to the wallet
7965
+ *
7966
+ */
7967
+ get: {
7968
+ parameters: {
7969
+ query?: never;
7970
+ header?: never;
7971
+ path: {
7972
+ /** @description The ID of the wallet */
7973
+ wallet_id: string;
7974
+ /** @description Numeric chain ID */
7975
+ chain: number;
7976
+ };
7977
+ cookie?: never;
7978
+ };
7979
+ requestBody?: never;
7980
+ responses: {
7981
+ /** @description Crypto address retrieved successfully */
7982
+ 200: {
7983
+ headers: {
7984
+ [name: string]: unknown;
7985
+ };
7986
+ content: {
7987
+ "application/json": {
7988
+ /** @example true */
7989
+ success: boolean;
7990
+ data: {
7991
+ /** Format: uuid */
7992
+ uuid: string;
7993
+ address: string;
7994
+ chain: number;
7995
+ /** Format: uuid */
7996
+ wallet_uuid: string;
7997
+ is_active: boolean;
7998
+ label: string | null;
7999
+ /** @enum {string} */
8000
+ type: "utila" | "processing";
8001
+ /** Format: date-time */
8002
+ created_at: string;
8003
+ };
8004
+ };
8005
+ };
8006
+ };
8007
+ /** @description Access denied to this wallet */
8008
+ 403: {
8009
+ headers: {
8010
+ [name: string]: unknown;
8011
+ };
8012
+ content?: never;
8013
+ };
8014
+ /** @description Address for this chain not found */
8015
+ 404: {
8016
+ headers: {
8017
+ [name: string]: unknown;
8018
+ };
8019
+ content?: never;
8020
+ };
8021
+ /** @description Server error */
8022
+ 500: {
8023
+ headers: {
8024
+ [name: string]: unknown;
8025
+ };
8026
+ content?: never;
8027
+ };
8028
+ };
8029
+ };
7870
8030
  put?: never;
7871
8031
  /**
7872
8032
  * Create crypto address
@@ -7911,24 +8071,24 @@ export interface paths {
7911
8071
  content: {
7912
8072
  "application/json": {
7913
8073
  /** @example true */
7914
- success?: boolean;
7915
- data?: {
8074
+ success: boolean;
8075
+ data: {
7916
8076
  /** Format: uuid */
7917
- uuid?: string;
8077
+ uuid: string;
7918
8078
  /** @description The blockchain address */
7919
- address?: string;
7920
- chain?: string;
8079
+ address: string;
8080
+ chain: number;
7921
8081
  /** Format: uuid */
7922
- wallet_uuid?: string;
7923
- is_active?: boolean;
7924
- label?: string;
8082
+ wallet_uuid: string;
8083
+ is_active: boolean;
8084
+ label: string | null;
7925
8085
  /** @enum {string} */
7926
- type?: "utila" | "processing";
8086
+ type: "utila" | "processing";
7927
8087
  /** Format: date-time */
7928
- created_at?: string;
8088
+ created_at: string;
7929
8089
  };
7930
8090
  /** @example Crypto address created successfully */
7931
- message?: string;
8091
+ message: string;
7932
8092
  };
7933
8093
  };
7934
8094
  };
@@ -7604,9 +7604,9 @@ export interface components {
7604
7604
  virtual_account_id: string;
7605
7605
  /**
7606
7606
  * Format: uuid
7607
- * @description Bank counterparty destination UUID
7607
+ * @description Bank counterparty destination UUID created via POST /api/counterparty/destinations. The destination type must match the rail (WIRE/ACH/SEPA/SWIFT/CHAPS/FPS).
7608
7608
  */
7609
- counterparty_destination_id?: string;
7609
+ counterparty_destination_id: string;
7610
7610
  /** @description Idempotency key (UUID v4 recommended) */
7611
7611
  request_id: string;
7612
7612
  /** @description Free-form reference visible in order/transaction listings */
@@ -2160,6 +2160,10 @@ export declare namespace API {
2160
2160
  type Request = WalletAddressesRoot['get']['parameters']['path'] & NonNullable<WalletAddressesRoot['get']['parameters']['query']>;
2161
2161
  type Response = WalletAddressesRoot['get']['responses']['200']['content']['application/json'];
2162
2162
  }
2163
+ namespace GetByChain {
2164
+ type Request = WalletAddressByChainRoot['get']['parameters']['path'];
2165
+ type Response = WalletAddressByChainRoot['get']['responses']['200']['content']['application/json'];
2166
+ }
2163
2167
  namespace Create {
2164
2168
  type Request = WalletAddressByChainRoot['post']['parameters']['path'] & NonNullable<NonNullable<WalletAddressByChainRoot['post']['requestBody']>['content']['application/json']>;
2165
2169
  type Response = WalletAddressByChainRoot['post']['responses']['201']['content']['application/json'];
@@ -8,6 +8,7 @@ export declare const wallets: {
8
8
  getDashboard: ({ wallet_id, ...params }: API.Wallets.Dashboard.Request) => Promise<API.Wallets.Dashboard.Response>;
9
9
  addresses: {
10
10
  getAll: ({ wallet_id, ...params }: API.Wallets.WalletChain.GetAll.Request) => Promise<API.Wallets.WalletChain.GetAll.Response>;
11
+ getByChain: ({ wallet_id, chain, }: API.Wallets.WalletChain.GetByChain.Request) => Promise<API.Wallets.WalletChain.GetByChain.Response>;
11
12
  create: ({ wallet_id, chain, ...data }: API.Wallets.WalletChain.Create.Request) => Promise<API.Wallets.WalletChain.Create.Response>;
12
13
  };
13
14
  transactions: {
@@ -13,6 +13,7 @@ export const wallets = {
13
13
  getDashboard: ({ wallet_id, ...params }) => apiClientV1Frontend.getRequest(`/frontend/wallets/${wallet_id}/dashboard`, { params }),
14
14
  addresses: {
15
15
  getAll: ({ wallet_id, ...params }) => apiClientV1Frontend.getRequest(`/frontend/wallets/${wallet_id}/addresses`, { params }),
16
+ getByChain: ({ wallet_id, chain, }) => apiClientV1Frontend.getRequest(`/frontend/wallets/${wallet_id}/addresses/${chain}`),
16
17
  create: ({ wallet_id, chain, ...data }) => apiClientV1Frontend.postRequest(`/frontend/wallets/${wallet_id}/addresses/${chain}`, { data }),
17
18
  },
18
19
  transactions: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.35.0",
3
+ "version": "1.35.2",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",