squarefi-bff-api-module 1.35.3 → 1.36.1

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.
@@ -9,9 +9,9 @@ export declare const issuing: {
9
9
  subAccountCard: (data: API.Cards.Create.SubAccountRequest) => Promise<API.Cards.Create.ExtendedSubAccountResponse>;
10
10
  };
11
11
  byWalletUuid: {
12
- getAll: (params: API.Cards.CardsList.Request.ByWalletUuid) => Promise<API.Cards.CardsList.Response>;
13
- getBySubaccountType: (params: API.Cards.CardsList.Request.BySubaccountAndWalletUuid) => Promise<API.Cards.CardsList.Response>;
14
- getBySubAccount: (params: API.Cards.CardsList.Request.BySubAccountAndWalletId) => Promise<API.Cards.CardsList.Response>;
12
+ getAll: ({ limit, offset, ...rest }: API.Cards.CardsList.Request.ByWalletUuid) => Promise<API.Cards.CardsList.Response>;
13
+ getBySubaccountType: ({ limit, offset, ...rest }: API.Cards.CardsList.Request.BySubaccountAndWalletUuid) => Promise<API.Cards.CardsList.Response>;
14
+ getBySubAccount: ({ limit, offset, ...rest }: API.Cards.CardsList.Request.BySubAccountAndWalletId) => Promise<API.Cards.CardsList.Response>;
15
15
  };
16
16
  getById: (card_id: string) => Promise<API.Cards.IssuingCardDetailItem>;
17
17
  sensitiveData: {
@@ -33,8 +33,8 @@ export declare const issuing: {
33
33
  rename: (card_id: string, nick_name: string) => Promise<API.Cards.IssuingCardDetailItem>;
34
34
  };
35
35
  transactions: {
36
- getByCardId: (card_id: string, limit?: number, offset?: number) => Promise<API.Cards.TransactionsList>;
37
- getBySubAccountId: (fiat_account_id: string, limit?: number, offset?: number) => Promise<API.Cards.TransactionsList>;
36
+ getByCardId: ({ card_id, limit, offset, transaction_type, status, from, to, }: API.Cards.Transactions.List.ByCardIdRequest) => Promise<API.Cards.TransactionsList>;
37
+ getBySubAccountId: ({ fiat_account_id, limit, offset, transaction_type, status, from, to, }: API.Cards.Transactions.List.BySubAccountIdRequest) => Promise<API.Cards.TransactionsList>;
38
38
  csv: {
39
39
  getByCardId: (card_id: string) => Promise<string>;
40
40
  getBySubAccountId: (sub_account_id: string) => Promise<string>;
@@ -31,14 +31,14 @@ export const issuing = {
31
31
  },
32
32
  },
33
33
  byWalletUuid: {
34
- getAll: (params) => apiClientV1.getRequest('/issuing/cards', {
35
- params,
34
+ getAll: ({ limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset, ...rest }) => apiClientV1.getRequest('/issuing/cards', {
35
+ params: { ...rest, limit, offset },
36
36
  }),
37
- getBySubaccountType: (params) => apiClientV1.getRequest('/issuing/cards', {
38
- params,
37
+ getBySubaccountType: ({ limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset, ...rest }) => apiClientV1.getRequest('/issuing/cards', {
38
+ params: { ...rest, limit, offset },
39
39
  }),
40
- getBySubAccount: (params) => apiClientV1.getRequest('/issuing/cards', {
41
- params,
40
+ getBySubAccount: ({ limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset, ...rest }) => apiClientV1.getRequest('/issuing/cards', {
41
+ params: { ...rest, limit, offset },
42
42
  }),
43
43
  },
44
44
  // getById: (card_id: string) => apiClientV1.getRequest<API.Cards.IssuingCardDetailItem>(`/issuing/cards/${card_id}`),
@@ -86,11 +86,11 @@ export const issuing = {
86
86
  }),
87
87
  },
88
88
  transactions: {
89
- getByCardId: (card_id, limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset) => apiClientV1.getRequest(`/issuing/transactions/`, {
90
- params: { limit, offset, card_id, new_scheme: true },
89
+ getByCardId: ({ card_id, limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset, transaction_type, status, from, to, }) => apiClientV1.getRequest(`/issuing/transactions/`, {
90
+ params: { limit, offset, card_id, new_scheme: true, transaction_type, status, from, to },
91
91
  }),
92
- getBySubAccountId: (fiat_account_id, limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset) => apiClientV1.getRequest(`/issuing/transactions/`, {
93
- params: { limit, offset, fiat_account_id, new_scheme: true },
92
+ getBySubAccountId: ({ fiat_account_id, limit = defaultPaginationParams.limit, offset = defaultPaginationParams.offset, transaction_type, status, from, to, }) => apiClientV1.getRequest(`/issuing/transactions/`, {
93
+ params: { limit, offset, fiat_account_id, new_scheme: true, transaction_type, status, from, to },
94
94
  }),
95
95
  csv: {
96
96
  getByCardId: (card_id) => apiClientV1.getRequest(`/issuing/transactions/csv`, {
@@ -2011,6 +2011,8 @@ 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 last 4 digits of the card number (partial, case-insensitive match) */
2015
+ last4?: string;
2014
2016
  /** @description Number of items to skip */
2015
2017
  offset?: number;
2016
2018
  /** @description Number of items to return */
@@ -3229,7 +3231,81 @@ export interface paths {
3229
3231
  delete?: never;
3230
3232
  options?: never;
3231
3233
  head?: never;
3232
- patch?: never;
3234
+ /**
3235
+ * Update sub-account
3236
+ * @description Updates editable fields of a sub-account. Currently only the `nick_name` can be changed.
3237
+ *
3238
+ * **Authentication**: x-api-key header required
3239
+ *
3240
+ * **Access Control**: User must have access to the sub-account
3241
+ *
3242
+ */
3243
+ patch: {
3244
+ parameters: {
3245
+ query?: never;
3246
+ header?: never;
3247
+ path: {
3248
+ /** @description The ID of the sub-account to update */
3249
+ sub_account_id: string;
3250
+ };
3251
+ cookie?: never;
3252
+ };
3253
+ requestBody: {
3254
+ content: {
3255
+ "application/json": {
3256
+ /**
3257
+ * @description New nickname for the sub-account
3258
+ * @example Travel budget
3259
+ */
3260
+ nick_name: string;
3261
+ };
3262
+ };
3263
+ };
3264
+ responses: {
3265
+ /** @description Sub-account updated successfully */
3266
+ 200: {
3267
+ headers: {
3268
+ [name: string]: unknown;
3269
+ };
3270
+ content: {
3271
+ "application/json": {
3272
+ /** @example true */
3273
+ success?: boolean;
3274
+ data?: components["schemas"]["IssuingSubAccount"];
3275
+ /** @example Sub-account updated successfully */
3276
+ message?: string;
3277
+ };
3278
+ };
3279
+ };
3280
+ /** @description Bad Request - nick_name is required */
3281
+ 400: {
3282
+ headers: {
3283
+ [name: string]: unknown;
3284
+ };
3285
+ content: {
3286
+ "application/json": components["schemas"]["ApiErrorResponse"];
3287
+ };
3288
+ };
3289
+ /** @description Access denied to this sub-account */
3290
+ 403: {
3291
+ headers: {
3292
+ [name: string]: unknown;
3293
+ };
3294
+ content: {
3295
+ "application/json": components["schemas"]["ApiErrorResponse"];
3296
+ };
3297
+ };
3298
+ /** @description Sub-account not found */
3299
+ 404: {
3300
+ headers: {
3301
+ [name: string]: unknown;
3302
+ };
3303
+ content: {
3304
+ "application/json": components["schemas"]["ApiErrorResponse"];
3305
+ };
3306
+ };
3307
+ };
3308
+ };
3233
3309
  trace?: never;
3234
3310
  };
3235
3311
  "/api/issuing/sub-accounts/{sub_account_id}/transactions": {
@@ -5418,7 +5494,8 @@ export interface paths {
5418
5494
  * from the API key — presence of a rate row is treated as the enable flag.
5419
5495
  *
5420
5496
  * Each returned item includes a `tenant_rates` object (`markup_percent`,
5421
- * `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`.
5422
5499
  *
5423
5500
  * **Authentication**: x-api-key header required
5424
5501
  *
@@ -7446,8 +7523,11 @@ export interface components {
7446
7523
  * @description External vendor account ID
7447
7524
  */
7448
7525
  vendor_account_id?: string | null;
7449
- /** @description Bank account details for deposits */
7526
+ /** @description When false, deposit_instructions and account_details are returned as null (deposits disabled for this account) */
7527
+ is_deposit_enabled?: boolean;
7528
+ /** @description Bank account details for deposits. Returned null when is_deposit_enabled is false. */
7450
7529
  account_details?: components["schemas"]["BankAccountDetails"];
7530
+ /** @description Deposit requisites. Returned null when is_deposit_enabled is false. */
7451
7531
  deposit_instructions?: Record<string, never> | null;
7452
7532
  current_balance?: number | null;
7453
7533
  available_balance?: number | null;
@@ -7540,6 +7620,18 @@ export interface components {
7540
7620
  is_internal?: boolean;
7541
7621
  payment_method?: string | null;
7542
7622
  is_trusted?: boolean;
7623
+ /**
7624
+ * @description Optional minimum amount the product should allow for this order type
7625
+ * @example 100
7626
+ */
7627
+ min_amount?: number | null;
7628
+ /**
7629
+ * @description Optional maximum amount the product should allow for this order type
7630
+ * @example 50000
7631
+ */
7632
+ max_amount?: number | null;
7633
+ /** @description Whether payouts for this order type are limited to the wallet owner's own account */
7634
+ first_party_only?: boolean;
7543
7635
  /** @description Tenant-specific billing rates (present when tenant context is available) */
7544
7636
  tenant_rates?: {
7545
7637
  /**
@@ -1736,6 +1736,8 @@ 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 last 4 digits of the card number (partial, case-insensitive match) */
1740
+ last4?: string;
1739
1741
  /** @description Number of items to skip */
1740
1742
  offset?: number;
1741
1743
  /** @description Number of items to return */
@@ -3008,7 +3010,76 @@ export interface paths {
3008
3010
  delete?: never;
3009
3011
  options?: never;
3010
3012
  head?: never;
3011
- patch?: never;
3013
+ /**
3014
+ * Update sub-account
3015
+ * @description Updates editable fields of a sub-account. Currently only the `nick_name` can be changed.
3016
+ *
3017
+ * **Authentication**: Bearer token with x-tenant-id header required
3018
+ *
3019
+ * **Access Control**: User must have ADMIN role on the sub-account's wallet
3020
+ *
3021
+ */
3022
+ patch: {
3023
+ parameters: {
3024
+ query?: never;
3025
+ header?: never;
3026
+ path: {
3027
+ /** @description The ID of the sub-account to update */
3028
+ sub_account_id: string;
3029
+ };
3030
+ cookie?: never;
3031
+ };
3032
+ requestBody: {
3033
+ content: {
3034
+ "application/json": {
3035
+ /**
3036
+ * @description New nickname for the sub-account
3037
+ * @example Travel budget
3038
+ */
3039
+ nick_name: string;
3040
+ };
3041
+ };
3042
+ };
3043
+ responses: {
3044
+ /** @description Sub-account updated successfully */
3045
+ 200: {
3046
+ headers: {
3047
+ [name: string]: unknown;
3048
+ };
3049
+ content: {
3050
+ "application/json": {
3051
+ /** @example true */
3052
+ success?: boolean;
3053
+ /** @description Updated sub-account details */
3054
+ data?: Record<string, never>;
3055
+ /** @example Sub-account updated successfully */
3056
+ message?: string;
3057
+ };
3058
+ };
3059
+ };
3060
+ /** @description Bad Request - nick_name is required */
3061
+ 400: {
3062
+ headers: {
3063
+ [name: string]: unknown;
3064
+ };
3065
+ content?: never;
3066
+ };
3067
+ /** @description Access denied to this sub-account */
3068
+ 403: {
3069
+ headers: {
3070
+ [name: string]: unknown;
3071
+ };
3072
+ content?: never;
3073
+ };
3074
+ /** @description Sub-account not found */
3075
+ 404: {
3076
+ headers: {
3077
+ [name: string]: unknown;
3078
+ };
3079
+ content?: never;
3080
+ };
3081
+ };
3082
+ };
3012
3083
  trace?: never;
3013
3084
  };
3014
3085
  "/frontend/issuing/sub-accounts/{sub_account_id}/transactions": {
@@ -5151,6 +5222,129 @@ export interface paths {
5151
5222
  patch?: never;
5152
5223
  trace?: never;
5153
5224
  };
5225
+ "/frontend/orders/{order_id}/approve": {
5226
+ parameters: {
5227
+ query?: never;
5228
+ header?: never;
5229
+ path?: never;
5230
+ cookie?: never;
5231
+ };
5232
+ get?: never;
5233
+ put?: never;
5234
+ /**
5235
+ * Approve an order
5236
+ * @description Moves a PENDING order to PROCESSING, triggering its workflow. Validates the order's request_id via OTP.
5237
+ */
5238
+ post: {
5239
+ parameters: {
5240
+ query?: never;
5241
+ header?: never;
5242
+ path: {
5243
+ order_id: string;
5244
+ };
5245
+ cookie?: never;
5246
+ };
5247
+ requestBody: {
5248
+ content: {
5249
+ "application/json": {
5250
+ /** Format: uuid */
5251
+ wallet_id: string;
5252
+ };
5253
+ };
5254
+ };
5255
+ responses: {
5256
+ /** @description Order moved to PROCESSING */
5257
+ 200: {
5258
+ headers: {
5259
+ [name: string]: unknown;
5260
+ };
5261
+ content: {
5262
+ "application/json": {
5263
+ /** @example true */
5264
+ success?: boolean;
5265
+ data?: components["schemas"]["Order"];
5266
+ };
5267
+ };
5268
+ };
5269
+ /** @description Order is not in an approvable state */
5270
+ 409: {
5271
+ headers: {
5272
+ [name: string]: unknown;
5273
+ };
5274
+ content: {
5275
+ "application/json": components["schemas"]["ErrorResponse"];
5276
+ };
5277
+ };
5278
+ };
5279
+ };
5280
+ delete?: never;
5281
+ options?: never;
5282
+ head?: never;
5283
+ patch?: never;
5284
+ trace?: never;
5285
+ };
5286
+ "/frontend/orders/{order_id}/cancel": {
5287
+ parameters: {
5288
+ query?: never;
5289
+ header?: never;
5290
+ path?: never;
5291
+ cookie?: never;
5292
+ };
5293
+ get?: never;
5294
+ put?: never;
5295
+ /**
5296
+ * Cancel an order
5297
+ * @description Cancels a PENDING/FAILED order, cancels its workflow run, and refunds the blocked funds.
5298
+ */
5299
+ post: {
5300
+ parameters: {
5301
+ query?: never;
5302
+ header?: never;
5303
+ path: {
5304
+ order_id: string;
5305
+ };
5306
+ cookie?: never;
5307
+ };
5308
+ requestBody: {
5309
+ content: {
5310
+ "application/json": {
5311
+ /** Format: uuid */
5312
+ wallet_id: string;
5313
+ reason?: string;
5314
+ };
5315
+ };
5316
+ };
5317
+ responses: {
5318
+ /** @description Order canceled and funds refunded */
5319
+ 200: {
5320
+ headers: {
5321
+ [name: string]: unknown;
5322
+ };
5323
+ content: {
5324
+ "application/json": {
5325
+ /** @example true */
5326
+ success?: boolean;
5327
+ data?: components["schemas"]["Order"];
5328
+ };
5329
+ };
5330
+ };
5331
+ /** @description Order is not in a cancelable state */
5332
+ 409: {
5333
+ headers: {
5334
+ [name: string]: unknown;
5335
+ };
5336
+ content: {
5337
+ "application/json": components["schemas"]["ErrorResponse"];
5338
+ };
5339
+ };
5340
+ };
5341
+ };
5342
+ delete?: never;
5343
+ options?: never;
5344
+ head?: never;
5345
+ patch?: never;
5346
+ trace?: never;
5347
+ };
5154
5348
  "/frontend/orders/types": {
5155
5349
  parameters: {
5156
5350
  query?: never;
@@ -6091,7 +6285,8 @@ export interface paths {
6091
6285
  * the enable flag.
6092
6286
  *
6093
6287
  * Each returned item includes a `tenant_rates` object (`markup_percent`,
6094
- * `markup_fixed`, `mon_min_usd`).
6288
+ * `markup_fixed`, `mon_min_usd`) and may expose product-facing guardrails
6289
+ * such as `min_amount`, `max_amount`, and `first_party_only`.
6095
6290
  *
6096
6291
  * **Authentication**: Bearer token + x-tenant-id header
6097
6292
  *
@@ -7076,8 +7271,15 @@ export interface paths {
7076
7271
  "application/json": {
7077
7272
  success?: boolean;
7078
7273
  data?: {
7079
- /** @description Wallet name, or null if the wallet has no name set */
7080
- wallet_name?: string | null;
7274
+ /**
7275
+ * @description Display label for the wallet. The wallet's own name when set,
7276
+ * otherwise derived from its KYC entity: `business_name` for
7277
+ * businesses, `first_name last_name` for individuals, falling back
7278
+ * to "Business account" / "Individual account" / "New account".
7279
+ *
7280
+ * @example Acme LLC
7281
+ */
7282
+ wallet_name?: string;
7081
7283
  /** @enum {string} */
7082
7284
  role?: "user" | "admin";
7083
7285
  };
@@ -7165,8 +7367,13 @@ export interface paths {
7165
7367
  data: {
7166
7368
  /** Format: uuid */
7167
7369
  uuid: string;
7168
- /** @description Wallet display name (mirrors POST/PATCH responses) */
7370
+ /** @description Raw wallet name (may be null) */
7169
7371
  name: string | null;
7372
+ /**
7373
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7374
+ * @example Acme LLC
7375
+ */
7376
+ display_name?: string;
7170
7377
  /** @description Avatar URL for the wallet */
7171
7378
  logo_url: string | null;
7172
7379
  /** Format: uuid */
@@ -7234,7 +7441,11 @@ export interface paths {
7234
7441
  * Create wallet
7235
7442
  * @description Creates a new wallet for the authenticated user.
7236
7443
  *
7237
- * - **name** is auto-generated if not provided (e.g., "Golden Vault 42")
7444
+ * - **name** if provided (non-empty) it is used as-is.
7445
+ * - When **name** is omitted/blank, **empty_name** decides the fallback:
7446
+ * - `empty_name: false` or omitted (default) → a random placeholder name
7447
+ * is generated (e.g., "Golden Vault 42").
7448
+ * - `empty_name: true` → the wallet is created with `name: null`.
7238
7449
  *
7239
7450
  * **Authentication**: Bearer token with x-tenant-id header required
7240
7451
  *
@@ -7250,10 +7461,18 @@ export interface paths {
7250
7461
  content: {
7251
7462
  "application/json": {
7252
7463
  /**
7253
- * @description Wallet name (auto-generated if not provided)
7464
+ * @description Wallet name. Used as-is when non-empty.
7254
7465
  * @example My Main Wallet
7255
7466
  */
7256
7467
  name?: string;
7468
+ /**
7469
+ * @description Only relevant when `name` is omitted/blank.
7470
+ * `true` → store `name: null`; `false`/omitted → generate a random name.
7471
+ *
7472
+ * @default false
7473
+ * @example true
7474
+ */
7475
+ empty_name?: boolean;
7257
7476
  };
7258
7477
  };
7259
7478
  };
@@ -7272,6 +7491,11 @@ export interface paths {
7272
7491
  uuid: string;
7273
7492
  /** @example Golden Vault 42 */
7274
7493
  name: string | null;
7494
+ /**
7495
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7496
+ * @example Golden Vault 42
7497
+ */
7498
+ display_name?: string;
7275
7499
  logo_url: string | null;
7276
7500
  /** Format: uuid */
7277
7501
  tenant_id: string;
@@ -7539,6 +7763,11 @@ export interface paths {
7539
7763
  /** Format: uuid */
7540
7764
  uuid: string;
7541
7765
  name: string | null;
7766
+ /**
7767
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7768
+ * @example Acme LLC
7769
+ */
7770
+ display_name?: string;
7542
7771
  logo_url: string | null;
7543
7772
  /** Format: uuid */
7544
7773
  tenant_id: string;
@@ -7664,6 +7893,11 @@ export interface paths {
7664
7893
  uuid: string;
7665
7894
  /** @example My Updated Wallet */
7666
7895
  name: string | null;
7896
+ /**
7897
+ * @description Computed label — wallet name, else KYC-derived (business_name / first+last), else "New account". Always present.
7898
+ * @example My Updated Wallet
7899
+ */
7900
+ display_name?: string;
7667
7901
  logo_url: string | null;
7668
7902
  /** Format: uuid */
7669
7903
  tenant_id: string;
@@ -9355,8 +9589,11 @@ export interface components {
9355
9589
  /** Format: uuid */
9356
9590
  destination_currency?: string;
9357
9591
  vendor_account_id?: string | null;
9358
- /** @description Bank account details for deposits */
9592
+ /** @description When false, deposit_instructions and account_details are returned as null (deposits disabled for this account) */
9593
+ is_deposit_enabled?: boolean;
9594
+ /** @description Bank account details for deposits. Returned null when is_deposit_enabled is false. */
9359
9595
  account_details?: Record<string, never> | null;
9596
+ /** @description Deposit requisites. Returned null when is_deposit_enabled is false. */
9360
9597
  deposit_instructions?: Record<string, never> | null;
9361
9598
  current_balance?: number | null;
9362
9599
  available_balance?: number | null;