squarefi-bff-api-module 1.36.83 → 1.36.85

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,7 +9,8 @@ export declare const counterparties: {
9
9
  destinations: {
10
10
  getAll: ({ wallet_id, ...params }: API.Counterparties.Destination.List.Request) => Promise<API.Counterparties.Destination.List.Response>;
11
11
  getById: ({ counterparty_destination_id, }: API.Counterparties.Destination.Detail.Request) => Promise<API.Counterparties.Destination.Detail.Response>;
12
- create: ({ wallet_id: _wallet_id, external_banking_data, external_crypto_data, internal_data, ...rest }: API.Counterparties.Destination.Create.Request) => Promise<API.Counterparties.Destination.Create.Response>;
12
+ create: (request: API.Counterparties.Destination.Create.Request) => Promise<API.Counterparties.Destination.Create.Response>;
13
+ validate: (request: API.Counterparties.Destination.Validate.Request) => Promise<API.Counterparties.Destination.Validate.Response>;
13
14
  update: ({ counterparty_destination_id, wallet_id: _wallet_id, counterparty_account_id: _counterparty_account_id, ...data }: API.Counterparties.Destination.Update.Request) => Promise<API.Counterparties.Destination.Update.Response>;
14
15
  delete: ({ counterparty_destination_id, request_id, }: API.Counterparties.Destination.Delete.Request) => Promise<void>;
15
16
  internalTransfer: ({ counterparty_destination_id, }: API.Counterparties.Destination.InternalTransfer.Request) => Promise<API.Counterparties.Destination.InternalTransfer.Response>;
@@ -16,8 +16,20 @@ const mapDestination = (destination) => {
16
16
  if (destination.type === 'INTERNAL') {
17
17
  return { ...common, internal_data: destination.internal_data };
18
18
  }
19
- return { ...common, external_banking_data: destination.banking_data };
19
+ return {
20
+ ...common,
21
+ external_banking_data: destination.banking_data,
22
+ ...(destination.validation_issues ? { validation_issues: destination.validation_issues } : {}),
23
+ };
20
24
  };
25
+ // Тело create/validate: наружу external_* контракт, на провод — ключи фронт-модуля. wallet_id бэкенду
26
+ // не нужен (кошелёк берётся из счёта контрагента) и не отправляется.
27
+ const toDestinationBody = ({ wallet_id: _wallet_id, external_banking_data, external_crypto_data, internal_data, ...rest }) => ({
28
+ ...rest,
29
+ ...(external_banking_data ? { banking_data: external_banking_data } : {}),
30
+ ...(external_crypto_data ? { crypto_data: external_crypto_data } : {}),
31
+ ...(internal_data ? { internal_data } : {}),
32
+ });
21
33
  export const counterparties = {
22
34
  getAll: async ({ wallet_id, ...params }) => {
23
35
  const res = await apiClientV1Frontend.getRequest(`/frontend/counterparty/accounts/wallet/${wallet_id}`, { params });
@@ -65,16 +77,18 @@ export const counterparties = {
65
77
  const res = await apiClientV1Frontend.getRequest(`/frontend/counterparty/destinations/${counterparty_destination_id}`);
66
78
  return mapDestination(res.data.destination);
67
79
  },
68
- create: async ({ wallet_id: _wallet_id, external_banking_data, external_crypto_data, internal_data, ...rest }) => {
69
- const data = {
70
- ...rest,
71
- ...(external_banking_data ? { banking_data: external_banking_data } : {}),
72
- ...(external_crypto_data ? { crypto_data: external_crypto_data } : {}),
73
- ...(internal_data ? { internal_data } : {}),
74
- };
80
+ create: async (request) => {
81
+ const data = toDestinationBody(request);
75
82
  const res = await apiClientV1Frontend.postRequest(`/frontend/counterparty/destinations`, { data });
76
83
  return mapDestination(res.data.destination);
77
84
  },
85
+ // Пробный прогон create: те же проверки реквизитов, ничего не сохраняет. Правила живут
86
+ // только на бэкенде — формы спрашивают этот вызов вместо собственных проверок формата.
87
+ validate: async (request) => {
88
+ const data = toDestinationBody(request);
89
+ const res = await apiClientV1Frontend.postRequest(`/frontend/counterparty/destinations/validate`, { data });
90
+ return res.data;
91
+ },
78
92
  update: async ({ counterparty_destination_id, wallet_id: _wallet_id, counterparty_account_id: _counterparty_account_id, ...data }) => {
79
93
  const res = await apiClientV1Frontend.patchRequest(`/frontend/counterparty/destinations/${counterparty_destination_id}`, { data });
80
94
  return mapDestination(res.data.destination);
@@ -7953,11 +7953,22 @@ export interface components {
7953
7953
  /** @description Blockchain chain reference */
7954
7954
  ChainRef: {
7955
7955
  id?: number;
7956
- /** @example Ethereum */
7956
+ /**
7957
+ * @description Stable key of the network. Match on `id`, `name` or `symbol`; show `display_name`.
7958
+ * @example Ethereum
7959
+ */
7957
7960
  name?: string;
7958
- /** @example ETH */
7961
+ /**
7962
+ * @description Stable key of the network (not a ticker to display).
7963
+ * @example ETH
7964
+ */
7959
7965
  symbol?: string;
7960
7966
  enabled?: boolean;
7967
+ /**
7968
+ * @description Network name to show people. Falls back to `name`.
7969
+ * @example BNB Smart Chain
7970
+ */
7971
+ display_name?: string;
7961
7972
  };
7962
7973
  /** @description Crypto deposit address */
7963
7974
  CryptoAddress: {
@@ -1226,7 +1226,8 @@ export interface paths {
1226
1226
  * Matching is by full code — prefix search is not supported, so `data`
1227
1227
  * carries at most one element today. A well-formed code that matches no
1228
1228
  * bank is `200` with an empty `data`, not a 404. Banks that do not accept
1229
- * the selected method also resolve to an empty `data`.
1229
+ * the selected method also resolve to an empty `data` — for `sepa`, that
1230
+ * includes a bank outside the SEPA zone.
1230
1231
  *
1231
1232
  * **Authentication**: Bearer token + x-tenant-id header
1232
1233
  *
@@ -1958,6 +1959,183 @@ export interface paths {
1958
1959
  patch?: never;
1959
1960
  trace?: never;
1960
1961
  };
1962
+ "/frontend/counterparty/destinations": {
1963
+ parameters: {
1964
+ query?: never;
1965
+ header?: never;
1966
+ path?: never;
1967
+ cookie?: never;
1968
+ };
1969
+ get?: never;
1970
+ put?: never;
1971
+ /**
1972
+ * Create destination
1973
+ * @description counterparty_account_id in body. Caller must be owner or admin of the account's wallet and the wallet's KYC must be APPROVED; other members receive 403.
1974
+ *
1975
+ * **Banking types**: banking_data required. `banking_data.address` (the bank address) is mandatory; `banking_data.beneficiary_address` (the recipient's own postal address, same shape) is optional — when present it must be complete (city, country_id, postcode, street1; state_id on US rails), is never overwritten by bank-directory enrichment, is exempt from the bank-country check, and payouts use it in place of the bank address.
1976
+ * **Crypto types**: crypto_data required
1977
+ * **Internal type**: internal_data required (target wallet on the same platform)
1978
+ *
1979
+ */
1980
+ post: {
1981
+ parameters: {
1982
+ query?: never;
1983
+ header?: never;
1984
+ path?: never;
1985
+ cookie?: never;
1986
+ };
1987
+ requestBody: {
1988
+ content: {
1989
+ "application/json": {
1990
+ /** Format: uuid */
1991
+ counterparty_account_id: string;
1992
+ /** @enum {string} */
1993
+ type: "ACH" | "RTP" | "SWIFT" | "SEPA" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CHAPS" | "FPS" | "FEDWIRE" | "INTERNAL";
1994
+ nickname?: string;
1995
+ banking_data?: Record<string, never>;
1996
+ crypto_data?: Record<string, never>;
1997
+ /** @description Required for type INTERNAL — points at the receiver wallet. An account holds one INTERNAL destination per wallet; if it already has an active one to this wallet, that destination is returned instead of a new one. */
1998
+ internal_data?: {
1999
+ /**
2000
+ * Format: uuid
2001
+ * @description Target (receiver) wallet uuid on the same platform.
2002
+ */
2003
+ wallet_id: string;
2004
+ /** @description Optional, reserved for future use. */
2005
+ description?: string;
2006
+ };
2007
+ };
2008
+ };
2009
+ };
2010
+ responses: {
2011
+ /** @description Created */
2012
+ 201: {
2013
+ headers: {
2014
+ [name: string]: unknown;
2015
+ };
2016
+ content: {
2017
+ "application/json": {
2018
+ /** @example true */
2019
+ success: boolean;
2020
+ data: {
2021
+ destination: components["schemas"]["CounterpartyDestination"];
2022
+ /** @example Destination created successfully */
2023
+ message: string;
2024
+ };
2025
+ };
2026
+ };
2027
+ };
2028
+ /** @description Validation error: type-specific payload missing or invalid, target wallet inactive, or the address country contradicts the bank code country (`BANK_COUNTRY_MISMATCH`).
2029
+ *
2030
+ * Bank details are checked per payment method — IBAN (country, length, account format, check digits), SWIFT/BIC, ABA routing number, US/UK account number, sort code, IBAN inside the SEPA zone on SEPA. Every problem is listed in `error.details.issues` (`field`, `code`, `message`, optional `country` / `detected`), so a form can mark each field; `POST /frontend/counterparty/destinations/validate` returns the same list without saving.
2031
+ * */
2032
+ 400: {
2033
+ headers: {
2034
+ [name: string]: unknown;
2035
+ };
2036
+ content: {
2037
+ "application/json": components["schemas"]["ErrorResponse"];
2038
+ };
2039
+ };
2040
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
2041
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
2042
+ * */
2043
+ 403: {
2044
+ headers: {
2045
+ [name: string]: unknown;
2046
+ };
2047
+ content: {
2048
+ "application/json": components["schemas"]["ErrorResponse"];
2049
+ };
2050
+ };
2051
+ /** @description Account not found */
2052
+ 404: {
2053
+ headers: {
2054
+ [name: string]: unknown;
2055
+ };
2056
+ content: {
2057
+ "application/json": components["schemas"]["ErrorResponse"];
2058
+ };
2059
+ };
2060
+ };
2061
+ };
2062
+ delete?: never;
2063
+ options?: never;
2064
+ head?: never;
2065
+ patch?: never;
2066
+ trace?: never;
2067
+ };
2068
+ "/frontend/counterparty/destinations/validate": {
2069
+ parameters: {
2070
+ query?: never;
2071
+ header?: never;
2072
+ path?: never;
2073
+ cookie?: never;
2074
+ };
2075
+ get?: never;
2076
+ put?: never;
2077
+ /**
2078
+ * Validate destination details without saving
2079
+ * @description Dry run of `POST /frontend/counterparty/destinations`: the same body, the same checks —
2080
+ * bank details per payment method, address completeness, location reference data, the
2081
+ * bank-country check — and nothing is saved. Answers `200` whether or not the details are
2082
+ * valid; `valid: false` comes with every problem in `issues`. A form calls it as bank fields
2083
+ * are left and before submitting, and shows each issue's `message` under its `field`.
2084
+ *
2085
+ * No counterparty account is needed and no second-factor step-up is asked. Without an account it
2086
+ * cannot tell whether an INTERNAL target wallet is active — creation still checks that. Rate limited
2087
+ * to 60 requests per minute per user.
2088
+ *
2089
+ */
2090
+ post: {
2091
+ parameters: {
2092
+ query?: never;
2093
+ header?: never;
2094
+ path?: never;
2095
+ cookie?: never;
2096
+ };
2097
+ requestBody: {
2098
+ content: {
2099
+ "application/json": {
2100
+ /** @enum {string} */
2101
+ type: "ACH" | "RTP" | "SWIFT" | "SEPA" | "CRYPTO_EXTERNAL" | "CRYPTO_INTERNAL" | "CHAPS" | "FPS" | "FEDWIRE" | "INTERNAL";
2102
+ banking_data?: Record<string, never>;
2103
+ crypto_data?: Record<string, never>;
2104
+ internal_data?: Record<string, never>;
2105
+ };
2106
+ };
2107
+ };
2108
+ responses: {
2109
+ /** @description Validation result */
2110
+ 200: {
2111
+ headers: {
2112
+ [name: string]: unknown;
2113
+ };
2114
+ content: {
2115
+ "application/json": {
2116
+ /** @example true */
2117
+ success: boolean;
2118
+ data: components["schemas"]["DestinationValidationResult"];
2119
+ };
2120
+ };
2121
+ };
2122
+ /** @description Too many validation requests */
2123
+ 429: {
2124
+ headers: {
2125
+ [name: string]: unknown;
2126
+ };
2127
+ content: {
2128
+ "application/json": components["schemas"]["ErrorResponse"];
2129
+ };
2130
+ };
2131
+ };
2132
+ };
2133
+ delete?: never;
2134
+ options?: never;
2135
+ head?: never;
2136
+ patch?: never;
2137
+ trace?: never;
2138
+ };
1961
2139
  "/frontend/crypto_wallets/wallet/{wallet_id}": {
1962
2140
  parameters: {
1963
2141
  query?: never;
@@ -10351,7 +10529,14 @@ export interface paths {
10351
10529
  headers: {
10352
10530
  [name: string]: unknown;
10353
10531
  };
10354
- content?: never;
10532
+ content: {
10533
+ "application/json": {
10534
+ /** @example true */
10535
+ success: boolean;
10536
+ data: components["schemas"]["ReferenceChain"][];
10537
+ pagination?: components["schemas"]["PaginationResponse"];
10538
+ };
10539
+ };
10355
10540
  };
10356
10541
  401: components["responses"]["UnauthorizedError"];
10357
10542
  };
@@ -15943,9 +16128,38 @@ export interface components {
15943
16128
  banking_data?: components["schemas"]["CounterpartyBankingData"] | null;
15944
16129
  crypto_data?: components["schemas"]["CounterpartyCryptoData"] | null;
15945
16130
  internal_data?: components["schemas"]["CounterpartyInternalData"] | null;
16131
+ /** @description Banking destinations only: problems that make the stored bank details unpayable (an IBAN that fails its checks, an IBAN outside SEPA on a SEPA destination, a routing number that fails the ABA check). Non-empty means withdrawals to this destination are refused with `DESTINATION_INVALID` — details cannot be edited, so add a new destination. Empty for valid banking destinations; absent for crypto and internal ones. */
16132
+ validation_issues?: components["schemas"]["DestinationValidationIssue"][];
15946
16133
  /** @description Embedded on the list and get-by-id reads; absent on create/update. */
15947
16134
  counterparty_account?: components["schemas"]["CounterpartyAccountRef"] | null;
15948
16135
  };
16136
+ /** @description One problem with a destination payload. `field` is the request path of the offending value (`iban`, `routing_number`, `address.city`…); `message` is ready to show under that field. */
16137
+ DestinationValidationIssue: {
16138
+ /** @example iban */
16139
+ field: string;
16140
+ /**
16141
+ * @description Machine-readable reason. Bank details: `REQUIRED`, `IBAN_WRONG_FORMAT`, `IBAN_INVALID_CHARACTERS`, `IBAN_COUNTRY_NOT_SUPPORTED`, `IBAN_WRONG_LENGTH`, `IBAN_WRONG_BBAN_FORMAT`, `IBAN_WRONG_CHECKSUM`, `IBAN_WRONG_NATIONAL_CHECKSUM`, `IBAN_QR_NOT_ALLOWED`, `IBAN_NOT_SEPA`, `IBAN_BIC_COUNTRY_MISMATCH`, `BIC_WRONG_FORMAT`, `BIC_UNKNOWN_COUNTRY`, `BIC_TEST_CODE`, `ROUTING_NUMBER_INVALID`, `ACCOUNT_NUMBER_INVALID`, `SORT_CODE_INVALID`, `WRONG_IDENTIFIER_TYPE`, `INVALID_VALUE`; reference data: `BANK_COUNTRY_MISMATCH`, `VALIDATION_ERROR`; dry run only: `INVALID_TYPE`. New codes may be added — show `message` for an unknown one.
16142
+ * @example IBAN_NOT_SEPA
16143
+ */
16144
+ code: string;
16145
+ /** @example IBAN country AE is outside the SEPA zone — SEPA transfers cannot reach it */
16146
+ message: string;
16147
+ /**
16148
+ * @description ISO 3166-1 alpha-2 country the problem is about, when there is one
16149
+ * @example AE
16150
+ */
16151
+ country?: string;
16152
+ /**
16153
+ * @description For `WRONG_IDENTIFIER_TYPE`: what the value looks like (an IBAN typed into a US account-number field…)
16154
+ * @enum {string}
16155
+ */
16156
+ detected?: "IBAN" | "BIC" | "ROUTING_NUMBER";
16157
+ };
16158
+ DestinationValidationResult: {
16159
+ /** @description True when creating the destination with this payload would pass every check */
16160
+ valid: boolean;
16161
+ issues: components["schemas"]["DestinationValidationIssue"][];
16162
+ };
15949
16163
  /** @description Whether an instant internal transfer is available for a counterparty destination. Two states: available (available=true, target_wallet_id set) and not available (available=false, target_wallet_id=null). Any recipient that cannot receive an instant internal transfer is uniformly reported as not available — the check does not disclose the reason. */
15950
16164
  InternalTransferAvailability: {
15951
16165
  /** @description True when the recipient is an on-platform wallet that can currently receive an instant internal transfer. */
@@ -16518,7 +16732,30 @@ export interface components {
16518
16732
  /** Format: date-time */
16519
16733
  created_at?: string;
16520
16734
  };
16521
- /** @description Blockchain network as stored in the `chain` reference table. Embedded whole into every item of `GET /frontend/wallets/{wallet_id}/addresses`; `GET /frontend/reference/chains` returns the `id` / `name` / `symbol` / `enabled` subset of the same rows. Rely on those four fields — the rest is the raw reference row and is not a stable contract. */
16735
+ /** @description A network on `GET /frontend/reference/chains` (and the `chain` of each currency on `GET /frontend/reference/currencies`). `name` and `symbol` are keys: match on them, show `display_name`. */
16736
+ ReferenceChain: {
16737
+ /** @example 3 */
16738
+ id: number;
16739
+ /**
16740
+ * @description Stable key of the network
16741
+ * @example Binance Smart Chain
16742
+ */
16743
+ name: string | null;
16744
+ /**
16745
+ * @description Stable key of the network, not a ticker to display
16746
+ * @example BSC
16747
+ */
16748
+ symbol: string | null;
16749
+ enabled: boolean;
16750
+ /**
16751
+ * @description Network name to show people; falls back to `name`
16752
+ * @example BNB Smart Chain
16753
+ */
16754
+ display_name: string;
16755
+ /** @description Whether the tenant's AML provider can screen addresses on this network (chains list only) */
16756
+ aml_supported?: boolean;
16757
+ };
16758
+ /** @description Blockchain network as stored in the `chain` reference table. Embedded whole into every item of `GET /frontend/wallets/{wallet_id}/addresses`; `GET /frontend/reference/chains` returns the `ReferenceChain` subset of the same rows. Rely on `id` / `name` / `symbol` / `enabled` / `display_name` — the rest is the raw reference row and is not a stable contract. `name` and `symbol` are keys: match on them, show `display_name`. */
16522
16759
  Chain: {
16523
16760
  /**
16524
16761
  * @description Numeric chain ID — the value `chain` carries on the single-address endpoints and in the `{chain}` path parameter
@@ -16531,6 +16768,11 @@ export interface components {
16531
16768
  symbol: string | null;
16532
16769
  /** @description Whether new addresses can be created on this network */
16533
16770
  enabled: boolean;
16771
+ /**
16772
+ * @description Network name to show people, as stored. Filled for every network; `GET /frontend/reference/chains` (`ReferenceChain`) also falls back to `name`.
16773
+ * @example BNB Smart Chain
16774
+ */
16775
+ display_name?: string | null;
16534
16776
  is_beta?: boolean | null;
16535
16777
  is_testnet?: boolean | null;
16536
16778
  /** @description Public RPC endpoint of the network */
@@ -3881,6 +3881,8 @@ export interface paths {
3881
3881
  name?: string;
3882
3882
  symbol?: string;
3883
3883
  enabled?: boolean;
3884
+ /** @description Network name to show people; falls back to `name` */
3885
+ display_name?: string;
3884
3886
  }[];
3885
3887
  };
3886
3888
  };
@@ -8036,9 +8038,16 @@ export interface components {
8036
8038
  is_tenant_enabled?: boolean;
8037
8039
  chain?: {
8038
8040
  id?: number;
8041
+ /** @description Stable key of the network; show `display_name` */
8039
8042
  name?: string;
8043
+ /** @description Stable key of the network */
8040
8044
  symbol?: string;
8041
8045
  enabled?: boolean;
8046
+ /**
8047
+ * @description Network name to show people; falls back to `name`
8048
+ * @example BNB Smart Chain
8049
+ */
8050
+ display_name?: string;
8042
8051
  } | null;
8043
8052
  };
8044
8053
  CryptoAddress: {
@@ -1435,8 +1435,15 @@ export interface components {
1435
1435
  };
1436
1436
  ChainDto: {
1437
1437
  id: number;
1438
+ /** @description Stable key of the network (e.g. `Binance Smart Chain`). Match on it; show `display_name`. */
1438
1439
  name: string | null;
1440
+ /** @description Stable key of the network (e.g. `MATIC`), also the icon key. Not a ticker to display. */
1439
1441
  symbol: string | null;
1442
+ /**
1443
+ * @description Network name to show people (BNB Smart Chain, TRON, TON). Falls back to `name`.
1444
+ * @example BNB Smart Chain
1445
+ */
1446
+ display_name: string | null;
1440
1447
  is_beta: boolean | null;
1441
1448
  };
1442
1449
  AllChainsResponseDto: {
@@ -429,11 +429,14 @@ export declare namespace API {
429
429
  id: number;
430
430
  name: string;
431
431
  symbol: string;
432
+ /** The network name to show people (BNB Smart Chain, TRON); when null, show name. name and symbol are stable keys, not labels. */
433
+ display_name: string | null;
432
434
  is_beta: boolean | null;
433
435
  }
434
436
  type ChainList = {
435
- count: number;
437
+ total: number;
436
438
  data: Chain[];
439
+ has_more: boolean;
437
440
  };
438
441
  }
439
442
  namespace Common {
@@ -478,6 +481,7 @@ export declare namespace API {
478
481
  type CryptoDestinationType = Extract<CounterpartyDestinationType, 'CRYPTO_EXTERNAL'> | Extract<CounterpartyDestinationType, 'CRYPTO_INTERNAL'>;
479
482
  type InternalDestinationType = Extract<CounterpartyDestinationType, 'INTERNAL'>;
480
483
  type DestinationType = BankingDestinationType | CryptoDestinationType | InternalDestinationType;
484
+ type ValidationIssue = componentsV1Frontend['schemas']['DestinationValidationIssue'];
481
485
  namespace List {
482
486
  interface DestinationListItemCommonFields {
483
487
  id: string;
@@ -493,18 +497,21 @@ export declare namespace API {
493
497
  external_banking_data: DestinationListItemExternalBankingData;
494
498
  external_crypto_data?: never;
495
499
  internal_data?: never;
500
+ validation_issues?: ValidationIssue[];
496
501
  }
497
502
  interface DestinationListItemWithExternalCryptoData extends DestinationListItemCommonFields {
498
503
  type: CryptoDestinationType;
499
504
  external_banking_data?: never;
500
505
  external_crypto_data: DestinationListItemExternalCryptoData;
501
506
  internal_data?: never;
507
+ validation_issues?: never;
502
508
  }
503
509
  interface DestinationListItemWithInternalData extends DestinationListItemCommonFields {
504
510
  type: InternalDestinationType;
505
511
  external_banking_data?: never;
506
512
  external_crypto_data?: never;
507
513
  internal_data: DestinationInternalData;
514
+ validation_issues?: never;
508
515
  }
509
516
  type CounterpartyDestinationListItem = DestinationListItemWithExternalBankingData | DestinationListItemWithExternalCryptoData | DestinationListItemWithInternalData;
510
517
  type Request = pathsV1Frontend['/frontend/counterparty/destinations/wallet/{wallet_id}']['get']['parameters']['path'] & NonNullable<pathsV1Frontend['/frontend/counterparty/destinations/wallet/{wallet_id}']['get']['parameters']['query']>;
@@ -547,6 +554,10 @@ export declare namespace API {
547
554
  }
548
555
  type Response = Detail.DestinationDetailItem;
549
556
  }
557
+ namespace Validate {
558
+ type Request = Omit<Create.Request, 'counterparty_account_id' | 'nickname'>;
559
+ type Response = componentsV1Frontend['schemas']['DestinationValidationResult'];
560
+ }
550
561
  namespace Delete {
551
562
  type Request = {
552
563
  counterparty_destination_id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.83",
3
+ "version": "1.36.85",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",