squarefi-bff-api-module 1.36.0 → 1.36.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.
@@ -2011,7 +2011,7 @@ export interface paths {
2011
2011
  sub_account_type?: "prepaid" | "balance";
2012
2012
  /** @description Filter cards by status */
2013
2013
  status?: "ACTIVE" | "INACTIVE" | "SUSPENDED" | "CANCELED";
2014
- /** @description Filter cards by exact last 4 digits of the card number */
2014
+ /** @description Filter cards by last 4 digits of the card number (partial, case-insensitive match) */
2015
2015
  last4?: string;
2016
2016
  /** @description Number of items to skip */
2017
2017
  offset?: number;
@@ -5494,7 +5494,8 @@ export interface paths {
5494
5494
  * from the API key — presence of a rate row is treated as the enable flag.
5495
5495
  *
5496
5496
  * Each returned item includes a `tenant_rates` object (`markup_percent`,
5497
- * `markup_fixed`, `mon_min_usd`).
5497
+ * `markup_fixed`, `mon_min_usd`) and may expose product-facing guardrails
5498
+ * such as `min_amount`, `max_amount`, and `first_party_only`.
5498
5499
  *
5499
5500
  * **Authentication**: x-api-key header required
5500
5501
  *
@@ -7522,8 +7523,9 @@ export interface components {
7522
7523
  * @description External vendor account ID
7523
7524
  */
7524
7525
  vendor_account_id?: string | null;
7525
- /** @description Bank account details for deposits */
7526
+ /** @description Bank account details for deposits. Returned null when deposits are disabled for the account. */
7526
7527
  account_details?: components["schemas"]["BankAccountDetails"];
7528
+ /** @description Deposit requisites. Returned null when deposits are disabled for the account. */
7527
7529
  deposit_instructions?: Record<string, never> | null;
7528
7530
  current_balance?: number | null;
7529
7531
  available_balance?: number | null;
@@ -7600,7 +7602,10 @@ export interface components {
7600
7602
  /** @description Array of order_type IDs */
7601
7603
  order_types?: string[];
7602
7604
  /** @description KYC rail configuration */
7603
- kyc_rails?: Record<string, never> | null;
7605
+ kyc_rails?: {
7606
+ /** @description When false, deposits are not accepted for accounts on this rail and their requisites are suppressed in public responses */
7607
+ is_deposit_enabled?: boolean;
7608
+ } | null;
7604
7609
  /**
7605
7610
  * Format: uuid
7606
7611
  * @description Required KYC rail ID
@@ -7616,6 +7621,18 @@ export interface components {
7616
7621
  is_internal?: boolean;
7617
7622
  payment_method?: string | null;
7618
7623
  is_trusted?: boolean;
7624
+ /**
7625
+ * @description Optional minimum amount the product should allow for this order type
7626
+ * @example 100
7627
+ */
7628
+ min_amount?: number | null;
7629
+ /**
7630
+ * @description Optional maximum amount the product should allow for this order type
7631
+ * @example 50000
7632
+ */
7633
+ max_amount?: number | null;
7634
+ /** @description Whether payouts for this order type are limited to the wallet owner's own account */
7635
+ first_party_only?: boolean;
7619
7636
  /** @description Tenant-specific billing rates (present when tenant context is available) */
7620
7637
  tenant_rates?: {
7621
7638
  /**
@@ -1736,7 +1736,7 @@ export interface paths {
1736
1736
  sub_account_type?: "prepaid" | "balance";
1737
1737
  /** @description Filter cards by status */
1738
1738
  status?: "ACTIVE" | "INACTIVE" | "SUSPENDED" | "CANCELED";
1739
- /** @description Filter cards by exact last 4 digits of the card number */
1739
+ /** @description Filter cards by last 4 digits of the card number (partial, case-insensitive match) */
1740
1740
  last4?: string;
1741
1741
  /** @description Number of items to skip */
1742
1742
  offset?: number;
@@ -1845,6 +1845,16 @@ export interface paths {
1845
1845
  * @example My Card
1846
1846
  */
1847
1847
  card_name: string;
1848
+ /**
1849
+ * Format: uuid
1850
+ * @description Optional. Binds the card to a wallet member so a scoped `user` role can
1851
+ * access ONLY this card (view, sensitive data, transactions, freeze/unfreeze),
1852
+ * and nothing else in the wallet (SFI-1382). Must be the `user_data.uuid` of an
1853
+ * active member of the target wallet; resolved server-side to the card's owner.
1854
+ *
1855
+ * @example a1b2c3d4-e5f6-7890-abcd-ef1234567890
1856
+ */
1857
+ assigned_user_data_uuid?: string;
1848
1858
  /**
1849
1859
  * Format: email
1850
1860
  * @deprecated
@@ -5222,6 +5232,129 @@ export interface paths {
5222
5232
  patch?: never;
5223
5233
  trace?: never;
5224
5234
  };
5235
+ "/frontend/orders/{order_id}/approve": {
5236
+ parameters: {
5237
+ query?: never;
5238
+ header?: never;
5239
+ path?: never;
5240
+ cookie?: never;
5241
+ };
5242
+ get?: never;
5243
+ put?: never;
5244
+ /**
5245
+ * Approve an order
5246
+ * @description Moves a PENDING order to PROCESSING, triggering its workflow. Validates the order's request_id via OTP.
5247
+ */
5248
+ post: {
5249
+ parameters: {
5250
+ query?: never;
5251
+ header?: never;
5252
+ path: {
5253
+ order_id: string;
5254
+ };
5255
+ cookie?: never;
5256
+ };
5257
+ requestBody: {
5258
+ content: {
5259
+ "application/json": {
5260
+ /** Format: uuid */
5261
+ wallet_id: string;
5262
+ };
5263
+ };
5264
+ };
5265
+ responses: {
5266
+ /** @description Order moved to PROCESSING */
5267
+ 200: {
5268
+ headers: {
5269
+ [name: string]: unknown;
5270
+ };
5271
+ content: {
5272
+ "application/json": {
5273
+ /** @example true */
5274
+ success?: boolean;
5275
+ data?: components["schemas"]["Order"];
5276
+ };
5277
+ };
5278
+ };
5279
+ /** @description Order is not in an approvable state */
5280
+ 409: {
5281
+ headers: {
5282
+ [name: string]: unknown;
5283
+ };
5284
+ content: {
5285
+ "application/json": components["schemas"]["ErrorResponse"];
5286
+ };
5287
+ };
5288
+ };
5289
+ };
5290
+ delete?: never;
5291
+ options?: never;
5292
+ head?: never;
5293
+ patch?: never;
5294
+ trace?: never;
5295
+ };
5296
+ "/frontend/orders/{order_id}/cancel": {
5297
+ parameters: {
5298
+ query?: never;
5299
+ header?: never;
5300
+ path?: never;
5301
+ cookie?: never;
5302
+ };
5303
+ get?: never;
5304
+ put?: never;
5305
+ /**
5306
+ * Cancel an order
5307
+ * @description Cancels a PENDING/FAILED order, cancels its workflow run, and refunds the blocked funds.
5308
+ */
5309
+ post: {
5310
+ parameters: {
5311
+ query?: never;
5312
+ header?: never;
5313
+ path: {
5314
+ order_id: string;
5315
+ };
5316
+ cookie?: never;
5317
+ };
5318
+ requestBody: {
5319
+ content: {
5320
+ "application/json": {
5321
+ /** Format: uuid */
5322
+ wallet_id: string;
5323
+ reason?: string;
5324
+ };
5325
+ };
5326
+ };
5327
+ responses: {
5328
+ /** @description Order canceled and funds refunded */
5329
+ 200: {
5330
+ headers: {
5331
+ [name: string]: unknown;
5332
+ };
5333
+ content: {
5334
+ "application/json": {
5335
+ /** @example true */
5336
+ success?: boolean;
5337
+ data?: components["schemas"]["Order"];
5338
+ };
5339
+ };
5340
+ };
5341
+ /** @description Order is not in a cancelable state */
5342
+ 409: {
5343
+ headers: {
5344
+ [name: string]: unknown;
5345
+ };
5346
+ content: {
5347
+ "application/json": components["schemas"]["ErrorResponse"];
5348
+ };
5349
+ };
5350
+ };
5351
+ };
5352
+ delete?: never;
5353
+ options?: never;
5354
+ head?: never;
5355
+ patch?: never;
5356
+ trace?: never;
5357
+ };
5225
5358
  "/frontend/orders/types": {
5226
5359
  parameters: {
5227
5360
  query?: never;
@@ -6162,7 +6295,8 @@ export interface paths {
6162
6295
  * the enable flag.
6163
6296
  *
6164
6297
  * Each returned item includes a `tenant_rates` object (`markup_percent`,
6165
- * `markup_fixed`, `mon_min_usd`).
6298
+ * `markup_fixed`, `mon_min_usd`) and may expose product-facing guardrails
6299
+ * such as `min_amount`, `max_amount`, and `first_party_only`.
6166
6300
  *
6167
6301
  * **Authentication**: Bearer token + x-tenant-id header
6168
6302
  *
@@ -6989,7 +7123,7 @@ export interface paths {
6989
7123
  /** Format: uuid */
6990
7124
  wallet_id?: string;
6991
7125
  /** @enum {string} */
6992
- role?: "user" | "admin";
7126
+ role?: "auditor" | "user" | "admin";
6993
7127
  };
6994
7128
  };
6995
7129
  };
@@ -7147,10 +7281,17 @@ export interface paths {
7147
7281
  "application/json": {
7148
7282
  success?: boolean;
7149
7283
  data?: {
7150
- /** @description Wallet name, or null if the wallet has no name set */
7151
- wallet_name?: string | null;
7284
+ /**
7285
+ * @description Display label for the wallet. The wallet's own name when set,
7286
+ * otherwise derived from its KYC entity: `business_name` for
7287
+ * businesses, `first_name last_name` for individuals, falling back
7288
+ * to "Business account" / "Individual account" / "New account".
7289
+ *
7290
+ * @example Acme LLC
7291
+ */
7292
+ wallet_name?: string;
7152
7293
  /** @enum {string} */
7153
- role?: "user" | "admin";
7294
+ role?: "auditor" | "user" | "admin";
7154
7295
  };
7155
7296
  };
7156
7297
  };
@@ -7197,7 +7338,7 @@ export interface paths {
7197
7338
  * List wallets
7198
7339
  * @description Retrieves a list of wallets for the authenticated user (owned + shared via wallets_users).
7199
7340
  *
7200
- * Each wallet includes `access_role` (owner/admin/manager/user) and `is_owner` boolean.
7341
+ * Each wallet includes `access_role` (owner/admin/user/auditor) and `is_owner` boolean.
7201
7342
  *
7202
7343
  * **Authentication**: Bearer token with x-tenant-id header required
7203
7344
  *
@@ -7210,7 +7351,7 @@ export interface paths {
7210
7351
  /** @description Number of items to return */
7211
7352
  limit?: number;
7212
7353
  /** @description Filter wallets by user's access role */
7213
- role?: "owner" | "admin" | "manager" | "user";
7354
+ role?: "owner" | "admin" | "user" | "auditor";
7214
7355
  /** @description Include shared wallets (via wallets_users table) */
7215
7356
  include_shared?: boolean;
7216
7357
  /** @description Field to sort the merged owned + shared wallet list by */
@@ -7236,8 +7377,13 @@ export interface paths {
7236
7377
  data: {
7237
7378
  /** Format: uuid */
7238
7379
  uuid: string;
7239
- /** @description Wallet display name (mirrors POST/PATCH responses) */
7380
+ /** @description Raw wallet name (may be null) */
7240
7381
  name: string | null;
7382
+ /**
7383
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7384
+ * @example Acme LLC
7385
+ */
7386
+ display_name?: string;
7241
7387
  /** @description Avatar URL for the wallet */
7242
7388
  logo_url: string | null;
7243
7389
  /** Format: uuid */
@@ -7252,12 +7398,12 @@ export interface paths {
7252
7398
  *
7253
7399
  * @enum {string}
7254
7400
  */
7255
- role: "owner" | "admin" | "manager" | "user";
7401
+ role: "owner" | "admin" | "user" | "auditor";
7256
7402
  /**
7257
7403
  * @description User's access role for this wallet
7258
7404
  * @enum {string}
7259
7405
  */
7260
- access_role: "owner" | "admin" | "manager" | "user";
7406
+ access_role: "owner" | "admin" | "user" | "auditor";
7261
7407
  /** @description True if user is the wallet owner */
7262
7408
  is_owner: boolean;
7263
7409
  /** @description KYC entity attached to the wallet (joined from `kyc_entity`).
@@ -7305,7 +7451,11 @@ export interface paths {
7305
7451
  * Create wallet
7306
7452
  * @description Creates a new wallet for the authenticated user.
7307
7453
  *
7308
- * - **name** is auto-generated if not provided (e.g., "Golden Vault 42")
7454
+ * - **name** if provided (non-empty) it is used as-is.
7455
+ * - When **name** is omitted/blank, **empty_name** decides the fallback:
7456
+ * - `empty_name: false` or omitted (default) → a random placeholder name
7457
+ * is generated (e.g., "Golden Vault 42").
7458
+ * - `empty_name: true` → the wallet is created with `name: null`.
7309
7459
  *
7310
7460
  * **Authentication**: Bearer token with x-tenant-id header required
7311
7461
  *
@@ -7321,10 +7471,18 @@ export interface paths {
7321
7471
  content: {
7322
7472
  "application/json": {
7323
7473
  /**
7324
- * @description Wallet name (auto-generated if not provided)
7474
+ * @description Wallet name. Used as-is when non-empty.
7325
7475
  * @example My Main Wallet
7326
7476
  */
7327
7477
  name?: string;
7478
+ /**
7479
+ * @description Only relevant when `name` is omitted/blank.
7480
+ * `true` → store `name: null`; `false`/omitted → generate a random name.
7481
+ *
7482
+ * @default false
7483
+ * @example true
7484
+ */
7485
+ empty_name?: boolean;
7328
7486
  };
7329
7487
  };
7330
7488
  };
@@ -7343,6 +7501,11 @@ export interface paths {
7343
7501
  uuid: string;
7344
7502
  /** @example Golden Vault 42 */
7345
7503
  name: string | null;
7504
+ /**
7505
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7506
+ * @example Golden Vault 42
7507
+ */
7508
+ display_name?: string;
7346
7509
  logo_url: string | null;
7347
7510
  /** Format: uuid */
7348
7511
  tenant_id: string;
@@ -7610,6 +7773,11 @@ export interface paths {
7610
7773
  /** Format: uuid */
7611
7774
  uuid: string;
7612
7775
  name: string | null;
7776
+ /**
7777
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7778
+ * @example Acme LLC
7779
+ */
7780
+ display_name?: string;
7613
7781
  logo_url: string | null;
7614
7782
  /** Format: uuid */
7615
7783
  tenant_id: string;
@@ -7651,12 +7819,12 @@ export interface paths {
7651
7819
  *
7652
7820
  * @enum {string}
7653
7821
  */
7654
- role?: "owner" | "admin" | "manager" | "user";
7822
+ role?: "owner" | "admin" | "user" | "auditor";
7655
7823
  /**
7656
7824
  * @description User's role for this wallet (only present when called via member access)
7657
7825
  * @enum {string}
7658
7826
  */
7659
- access_role?: "owner" | "admin" | "manager" | "user";
7827
+ access_role?: "owner" | "admin" | "user" | "auditor";
7660
7828
  is_owner?: boolean;
7661
7829
  };
7662
7830
  };
@@ -7735,6 +7903,11 @@ export interface paths {
7735
7903
  uuid: string;
7736
7904
  /** @example My Updated Wallet */
7737
7905
  name: string | null;
7906
+ /**
7907
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7908
+ * @example My Updated Wallet
7909
+ */
7910
+ display_name?: string;
7738
7911
  logo_url: string | null;
7739
7912
  /** Format: uuid */
7740
7913
  tenant_id: string;
@@ -8496,7 +8669,7 @@ export interface paths {
8496
8669
  /** @description Search by first_name, last_name, email, or phone */
8497
8670
  search?: string;
8498
8671
  /** @description Filter by role */
8499
- role?: "owner" | "admin" | "user";
8672
+ role?: "owner" | "admin" | "user" | "auditor";
8500
8673
  /** @description Filter by active status (default true) */
8501
8674
  is_active?: boolean;
8502
8675
  };
@@ -8522,7 +8695,7 @@ export interface paths {
8522
8695
  /** Format: uuid */
8523
8696
  user_data_uuid?: string;
8524
8697
  /** @enum {string} */
8525
- role?: "owner" | "admin" | "user";
8698
+ role?: "owner" | "admin" | "user" | "auditor";
8526
8699
  is_active?: boolean;
8527
8700
  /** Format: date-time */
8528
8701
  created_at?: string;
@@ -8603,7 +8776,7 @@ export interface paths {
8603
8776
  * @description Role to assign to the user
8604
8777
  * @enum {string}
8605
8778
  */
8606
- role: "user" | "admin";
8779
+ role: "auditor" | "user" | "admin";
8607
8780
  };
8608
8781
  };
8609
8782
  };
@@ -8623,7 +8796,7 @@ export interface paths {
8623
8796
  /** Format: uuid */
8624
8797
  user_data_uuid?: string;
8625
8798
  /** @enum {string} */
8626
- role?: "user" | "admin";
8799
+ role?: "auditor" | "user" | "admin";
8627
8800
  is_active?: boolean;
8628
8801
  /** Format: date-time */
8629
8802
  created_at?: string;
@@ -8784,7 +8957,7 @@ export interface paths {
8784
8957
  * @description New role for the user
8785
8958
  * @enum {string}
8786
8959
  */
8787
- role: "user" | "admin";
8960
+ role: "auditor" | "user" | "admin";
8788
8961
  };
8789
8962
  };
8790
8963
  };
@@ -9032,7 +9205,7 @@ export interface paths {
9032
9205
  limit?: number;
9033
9206
  /** @description When true — only used invites; when false — only pending; omit for all. */
9034
9207
  is_completed?: boolean;
9035
- role?: "user" | "admin";
9208
+ role?: "auditor" | "user" | "admin";
9036
9209
  /** @description Case-insensitive search by email */
9037
9210
  search?: string;
9038
9211
  };
@@ -9081,7 +9254,7 @@ export interface paths {
9081
9254
  *
9082
9255
  * **Rules:**
9083
9256
  * - Only the wallet **owner** can create invites
9084
- * - `role` must be one of: `user`, `admin` (owner cannot be assigned via invite)
9257
+ * - `role` must be one of: `auditor`, `user`, `admin` (owner cannot be assigned via invite)
9085
9258
  * - If an active (not used, not expired) invite for the same email already exists,
9086
9259
  * it is superseded (expired) and replaced with a new one
9087
9260
  * - Cannot invite yourself
@@ -9113,7 +9286,7 @@ export interface paths {
9113
9286
  * @description Role to assign on acceptance
9114
9287
  * @enum {string}
9115
9288
  */
9116
- role: "user" | "admin";
9289
+ role: "auditor" | "user" | "admin";
9117
9290
  };
9118
9291
  };
9119
9292
  };
@@ -9426,8 +9599,9 @@ export interface components {
9426
9599
  /** Format: uuid */
9427
9600
  destination_currency?: string;
9428
9601
  vendor_account_id?: string | null;
9429
- /** @description Bank account details for deposits */
9602
+ /** @description Bank account details for deposits. Returned null when deposits are disabled for the account. */
9430
9603
  account_details?: Record<string, never> | null;
9604
+ /** @description Deposit requisites. Returned null when deposits are disabled for the account. */
9431
9605
  deposit_instructions?: Record<string, never> | null;
9432
9606
  current_balance?: number | null;
9433
9607
  available_balance?: number | null;
@@ -9556,7 +9730,7 @@ export interface components {
9556
9730
  * @description Role granted upon acceptance
9557
9731
  * @enum {string}
9558
9732
  */
9559
- role: "user" | "admin";
9733
+ role: "auditor" | "user" | "admin";
9560
9734
  /** @description 16-char uppercase hex code delivered by email */
9561
9735
  code: string;
9562
9736
  /** Format: date-time */