squarefi-bff-api-module 1.36.59 → 1.36.61

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.
package/README.md CHANGED
@@ -210,7 +210,7 @@ const publicUrl = getPublicUrl(path);
210
210
  | **developer** | Vendor & API key management |
211
211
  | **exchange** | Exchange rates per order type / currency |
212
212
  | **issuing** | Virtual & physical cards, limits, controls, transactions |
213
- | **kyc** | Data collection init/resume, Sumsub flows, rails & form submission |
213
+ | **kyc** | KYC entities & data collection, Sumsub flows, rails & forms |
214
214
  | **list** | Static system lists – currencies, chains, countries |
215
215
  | **orders** | Create / calculate orders (including internal transfer) |
216
216
  | **tenants** | Tenant configuration |
package/dist/api/kyc.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { API } from './types/types';
2
2
  export declare const kyc: {
3
3
  dataCollection: {
4
- init: ({ wallet_id, type, }: API.KYC.DataCollection.Init.Request) => Promise<API.KYC.DataCollection.Init.Response>;
4
+ /** @deprecated KYC is keyed by the KYC entity now, not the wallet (SFI-1924). Use `kyc.entity.init`. */
5
+ init: ({ wallet_id, type }: API.KYC.DataCollection.Init.Request) => Promise<API.KYC.DataCollection.Init.Response>;
6
+ /** @deprecated KYC is keyed by the KYC entity now, not the wallet (SFI-1924). Use `kyc.entity.resume`. */
5
7
  resume: ({ wallet_id, verification_ref, }: API.KYC.DataCollection.Resume.Request) => Promise<API.KYC.DataCollection.Resume.Response>;
6
8
  };
7
9
  sumsub: {
@@ -9,6 +11,11 @@ export declare const kyc: {
9
11
  };
10
12
  entity: {
11
13
  get: ({ wallet_id }: API.KYC.Entity.Get.Request) => Promise<API.KYC.Entity.Get.Response>;
14
+ create: (data: API.KYC.Entity.Create.Request) => Promise<API.KYC.Entity.Create.Response>;
15
+ getAll: () => Promise<API.KYC.Entity.List.Response>;
16
+ getById: ({ kyc_entity_id }: API.KYC.Entity.GetById.Request) => Promise<API.KYC.Entity.GetById.Response>;
17
+ init: ({ kyc_entity_id, ...params }: API.KYC.Entity.Init.Request) => Promise<API.KYC.Entity.Init.Response>;
18
+ resume: ({ kyc_entity_id, verification_ref, }: API.KYC.Entity.Resume.Request) => Promise<API.KYC.Entity.Resume.Response>;
12
19
  };
13
20
  rails: {
14
21
  info: {
package/dist/api/kyc.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { apiClientV1, apiClientV2 } from '../utils/apiClientFactory';
2
2
  export const kyc = {
3
3
  dataCollection: {
4
- init: ({ wallet_id, type, }) => apiClientV2.postRequest(`/kyc/init/${wallet_id}/${type}`),
4
+ /** @deprecated KYC is keyed by the KYC entity now, not the wallet (SFI-1924). Use `kyc.entity.init`. */
5
+ init: ({ wallet_id, type }) => apiClientV2.postRequest(`/kyc/init/${wallet_id}/${type}`),
6
+ /** @deprecated KYC is keyed by the KYC entity now, not the wallet (SFI-1924). Use `kyc.entity.resume`. */
5
7
  resume: ({ wallet_id, verification_ref, }) => apiClientV2.postRequest(`/kyc/resume/${wallet_id}/${verification_ref}`),
6
8
  },
7
9
  sumsub: {
@@ -9,6 +11,11 @@ export const kyc = {
9
11
  },
10
12
  entity: {
11
13
  get: ({ wallet_id }) => apiClientV2.getRequest(`/kyc/${wallet_id}/entity`),
14
+ create: (data) => apiClientV2.postRequest('/kyc/entities', { data }),
15
+ getAll: () => apiClientV2.getRequest('/kyc/entities'),
16
+ getById: ({ kyc_entity_id }) => apiClientV2.getRequest(`/kyc/entities/${kyc_entity_id}`),
17
+ init: ({ kyc_entity_id, ...params }) => apiClientV2.postRequest(`/kyc/entities/${kyc_entity_id}/init`, { params }),
18
+ resume: ({ kyc_entity_id, verification_ref, }) => apiClientV2.postRequest(`/kyc/entities/${kyc_entity_id}/resume/${verification_ref}`),
12
19
  },
13
20
  rails: {
14
21
  info: {
@@ -1109,7 +1109,7 @@ export interface paths {
1109
1109
  put?: never;
1110
1110
  /**
1111
1111
  * Create crypto wallet
1112
- * @description Creates a new crypto wallet (Utila wallet).
1112
+ * @description Creates a new crypto wallet.
1113
1113
  * Optionally specify chains to create addresses immediately.
1114
1114
  *
1115
1115
  */
@@ -1137,8 +1137,10 @@ export interface paths {
1137
1137
  external_id?: string;
1138
1138
  /**
1139
1139
  * @description Optional list of chain IDs (from `GET /api/reference/chains`)
1140
- * to generate addresses for immediately. Omit to create the wallet
1141
- * without addresses and add them later.
1140
+ * to generate addresses for immediately. Omit to create an empty
1141
+ * wallet; the custody-provider wallet is then created together with
1142
+ * the first address added via
1143
+ * `POST /api/crypto_wallets/{crypto_wallet_id}/addresses/{chain}`.
1142
1144
  *
1143
1145
  * @example [
1144
1146
  * 1,
@@ -1290,7 +1292,7 @@ export interface paths {
1290
1292
  post?: never;
1291
1293
  /**
1292
1294
  * Delete crypto wallet
1293
- * @description Soft-deletes a crypto wallet and archives it in Utila.
1295
+ * @description Soft-deletes a crypto wallet and archives it with the custody provider.
1294
1296
  * The wallet is marked as deleted and all addresses are deactivated.
1295
1297
  *
1296
1298
  */
@@ -1421,6 +1423,9 @@ export interface paths {
1421
1423
  *
1422
1424
  * This endpoint does not require authentication and can be used for monitoring.
1423
1425
  *
1426
+ * `version` is the published Developer API version — the same value every
1427
+ * response carries in the `X-API-Version` header. See the Changelog section.
1428
+ *
1424
1429
  */
1425
1430
  get: {
1426
1431
  parameters: {
@@ -1914,7 +1919,7 @@ export interface paths {
1914
1919
  */
1915
1920
  gov_id_expiration_date?: string;
1916
1921
  /**
1917
- * @description Tax identifier of the cardholder, separate from the document number. Required by Interlace CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
1922
+ * @description Tax identifier of the cardholder, separate from the document number. Required by some CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
1918
1923
  *
1919
1924
  * @example 123-45-6789
1920
1925
  */
@@ -2222,7 +2227,7 @@ export interface paths {
2222
2227
  gov_id_issuance_date?: string;
2223
2228
  /** Format: date */
2224
2229
  gov_id_expiration_date?: string;
2225
- /** @description Tax identifier (USA + Interlace CONSUMER: SSN, 9 digits or XXX-XX-XXXX) */
2230
+ /** @description Tax identifier (USA + CONSUMER programs that require it: SSN, 9 digits or XXX-XX-XXXX) */
2226
2231
  tax_identification_number?: string;
2227
2232
  address?: {
2228
2233
  line1?: string;
@@ -4854,7 +4859,13 @@ export interface paths {
4854
4859
  limit?: number;
4855
4860
  sort_by?: string;
4856
4861
  sort_order?: "asc" | "desc";
4857
- /** @description JSON-encoded array of filters, e.g. `[{"status":"COMPLETE"}]`.
4862
+ /** @description JSON-encoded array of filters, e.g. `[{"status":"COMPLETE"}]`. A value may be an
4863
+ * array to match any of several values: `[{"status":["NEW","PROCESSING"]}]`.
4864
+ * Filter by order type with `[{"order_type":"TRANSFER_INTERNAL"}]` — the names are
4865
+ * the ones `GET /api/reference/order_types` returns.
4866
+ * To find an order by the `reference` sent at creation, filter on that meta field:
4867
+ * `[{"meta->>reference":"invoice-2026-04-001"}]` — this is how an order is recovered
4868
+ * when the create response was lost.
4858
4869
  * Besides order columns it accepts `mass_payout_id` (uuid), which narrows the
4859
4870
  * result to the orders of one mass payout batch — the same batch reported by
4860
4871
  * the `mass_payout_id` field of each order. A non-uuid value is rejected with 400.
@@ -5179,6 +5190,16 @@ export interface paths {
5179
5190
  * @default false
5180
5191
  */
5181
5192
  is_reverse?: boolean;
5193
+ /**
5194
+ * @description Optional. Free-form reference visible in order/transaction listings. Kept on the order, so it is also how you find the transfer again if the create response was lost: `GET /api/orders/list?filters=[{"meta->>reference":"<your reference>"}]`.
5195
+ * @example invoice-2026-04-001
5196
+ */
5197
+ reference?: string;
5198
+ /**
5199
+ * @description Optional. Internal note attached to the order.
5200
+ * @example Fee collected for order 550e8400-e29b-41d4-a716-446655440000
5201
+ */
5202
+ note?: string;
5182
5203
  /**
5183
5204
  * Format: date-time
5184
5205
  * @description Optional. Schedule the transfer for a future time (min 1 hour, max 90 days ahead). No funds are reserved; after approval the order waits in EXPECTED status and executes automatically.
@@ -5275,6 +5296,19 @@ export interface paths {
5275
5296
  * - Sufficient balance in `from_currency_id` at approve time on the wallet
5276
5297
  * bound to the API key.
5277
5298
  *
5299
+ * **Cross-currency send (optional).** Pass a `to_currency_id` different
5300
+ * from `from_currency_id` to convert on the way out, exactly like the fiat
5301
+ * offramps: the wallet is debited `amount` in `from_currency_id`, and the
5302
+ * destination receives `amount_to` (also `meta.transaction_amount`) in
5303
+ * `to_currency_id` at the tenant's exchange rate for this order type.
5304
+ * Requirements: the pair must be configured for the tenant
5305
+ * (`400 EXCHANGE_RATE_NOT_FOUND`), `to_currency_id` must be an on-chain
5306
+ * currency (`400 INVALID_REQUEST`), and the destination address must be
5307
+ * registered on the network of `to_currency_id`
5308
+ * (`400 DESTINATION_CHAIN_MISMATCH`). Preview with `POST /api/orders/calc`.
5309
+ * Without `to_currency_id` (or with the same value) nothing changes: one
5310
+ * currency, one chain.
5311
+ *
5278
5312
  * `wallet_id` is automatically resolved from the API key — do **not** pass it
5279
5313
  * in the body.
5280
5314
  *
@@ -6042,7 +6076,9 @@ export interface paths {
6042
6076
  };
6043
6077
  /**
6044
6078
  * Get exchange rates
6045
- * @description Returns exchange rates with tenant-specific fees applied.
6079
+ * @description Returns exchange rates with the tenant FX spread applied: `rate` is what the tenant
6080
+ * trades at, `base_rate` is the market rate it came from and `fx_spread_percent` is the
6081
+ * percent taken off. The three are equal-and-zero when the tenant configured no spread.
6046
6082
  * Only currency pairs enabled for the tenant and configured in `tenant_exchange_rates` are returned.
6047
6083
  *
6048
6084
  * **Authentication**: x-api-key header required
@@ -7104,7 +7140,7 @@ export interface components {
7104
7140
  * @example EXCHANGE_OMNI
7105
7141
  * @enum {string}
7106
7142
  */
7107
- OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE";
7143
+ OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE";
7108
7144
  /** @description Card object with all properties */
7109
7145
  IssuingCard: {
7110
7146
  /**
@@ -7260,7 +7296,7 @@ export interface components {
7260
7296
  */
7261
7297
  cvv: string;
7262
7298
  /**
7263
- * @description 3-D Secure password where the vendor exposes one (Wallester); `null` otherwise.
7299
+ * @description 3-D Secure password where the card program exposes one; `null` otherwise.
7264
7300
  * @example null
7265
7301
  */
7266
7302
  security_code: string | null;
@@ -7568,7 +7604,7 @@ export interface components {
7568
7604
  */
7569
7605
  level?: "minimal" | "basic" | "declared" | "full";
7570
7606
  /**
7571
- * @description Required field names; address fields are dotted (address.line1). Interlace CONSUMER also lists gov_id_issuance_date and gov_id_expiration_date (ISO YYYY-MM-DD).
7607
+ * @description Required field names; address fields are dotted (address.line1). Some CONSUMER programs also list gov_id_issuance_date and gov_id_expiration_date (ISO YYYY-MM-DD).
7572
7608
  * @example [
7573
7609
  * "first_name",
7574
7610
  * "last_name",
@@ -7581,7 +7617,7 @@ export interface components {
7581
7617
  required?: string[];
7582
7618
  /** @description Documents that must be attached; empty below the full level */
7583
7619
  required_documents?: ("gov_id_front" | "gov_id_back" | "selfie")[];
7584
- /** @description Human-readable constraints the field list cannot express. Interlace CONSUMER: if nationality is USA, tax_identification_number is required and must be a valid SSN. */
7620
+ /** @description Human-readable constraints the field list cannot express — e.g. a CONSUMER program requiring tax_identification_number to be a valid SSN when nationality is USA. */
7585
7621
  notes?: string[];
7586
7622
  /** @description What each country changes, keyed by ISO 3166-1 alpha-3 with a `default` entry; empty when the vendor reviews nothing. These fields stay out of `required` because they only hold once the nationality or address country is known: read the rule for the nationality the user picked (required_by_nationality), the rule for the address country (required_by_address), and the rule for the country that issued the document (gov_id_types). */
7587
7623
  country_rules?: {
@@ -8199,13 +8235,13 @@ export interface components {
8199
8235
  from_currency_id: string;
8200
8236
  /**
8201
8237
  * Format: uuid
8202
- * @description Optional. UUID of the destination currency. Defaults to `from_currency_id` when omitted (no on-chain conversion).
8238
+ * @description Optional. UUID of the currency delivered on-chain to the destination. Omitted or equal to `from_currency_id`: a plain transfer of the same asset (unchanged behaviour). Different: a **cross-currency send** — the wallet is debited `amount` in `from_currency_id`, and the omnibus pays out `amount_to` (`meta.transaction_amount`) in `to_currency_id` at the tenant's exchange rate for `OMNIBUS_CRYPTO_TRANSFER`, the same way the fiat offramps convert. The pair must be configured for the tenant (`400 EXCHANGE_RATE_NOT_FOUND` otherwise), the currency must be on-chain (`400 INVALID_REQUEST`), and the counterparty destination must be registered on the same network as `to_currency_id` (`400 DESTINATION_CHAIN_MISMATCH`). Preview the rate and the delivered amount with `POST /api/orders/calc` using the same `from_currency_id` / `to_currency_id`.
8203
8239
  * @example 509eca03-bc0d-4a38-b7dc-d136d2bdaa43
8204
8240
  */
8205
8241
  to_currency_id?: string;
8206
8242
  /**
8207
8243
  * Format: uuid
8208
- * @description UUID of a `CRYPTO_EXTERNAL` counterparty destination previously created via `POST /api/counterparty/destinations`.
8244
+ * @description UUID of a `CRYPTO_EXTERNAL` counterparty destination previously created via `POST /api/counterparty/destinations`. For a cross-currency send its address must sit on the network of `to_currency_id`.
8209
8245
  * @example b2f3d8c1-4a7e-4d22-9c5f-1e6a8d0b2a44
8210
8246
  */
8211
8247
  counterparty_destination_id: string;
@@ -8504,7 +8540,7 @@ export interface components {
8504
8540
  is_tenant_enabled?: boolean;
8505
8541
  chain?: components["schemas"]["ChainRef"];
8506
8542
  };
8507
- /** @description Exchange rate between two currencies with tenant fee applied */
8543
+ /** @description Exchange rate between two currencies with the tenant FX spread applied */
8508
8544
  ExchangeRate: {
8509
8545
  id?: number;
8510
8546
  /** Format: date-time */
@@ -8520,10 +8556,20 @@ export interface components {
8520
8556
  */
8521
8557
  to?: string;
8522
8558
  /**
8523
- * @description Exchange rate (tenant fee already applied)
8559
+ * @description Exchange rate the tenant trades at (FX spread already applied)
8524
8560
  * @example 45000
8525
8561
  */
8526
8562
  rate?: number;
8563
+ /**
8564
+ * @description Market rate before the tenant FX spread; equal to `rate` when no spread applies
8565
+ * @example 45685
8566
+ */
8567
+ base_rate?: number;
8568
+ /**
8569
+ * @description Tenant FX spread already taken off `rate`, in whole percent
8570
+ * @example 1.5
8571
+ */
8572
+ fx_spread_percent?: number;
8527
8573
  /**
8528
8574
  * @description Inverted exchange rate
8529
8575
  * @example 0.0000222
@@ -1154,7 +1154,9 @@ export interface paths {
1154
1154
  "application/json": components["schemas"]["ErrorResponse"];
1155
1155
  };
1156
1156
  };
1157
- /** @description Access denied */
1157
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1158
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1159
+ * */
1158
1160
  403: {
1159
1161
  headers: {
1160
1162
  [name: string]: unknown;
@@ -1255,7 +1257,9 @@ export interface paths {
1255
1257
  };
1256
1258
  };
1257
1259
  };
1258
- /** @description Access denied */
1260
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1261
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1262
+ * */
1259
1263
  403: {
1260
1264
  headers: {
1261
1265
  [name: string]: unknown;
@@ -1311,7 +1315,9 @@ export interface paths {
1311
1315
  };
1312
1316
  };
1313
1317
  };
1314
- /** @description Access denied */
1318
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1319
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1320
+ * */
1315
1321
  403: {
1316
1322
  headers: {
1317
1323
  [name: string]: unknown;
@@ -1477,7 +1483,9 @@ export interface paths {
1477
1483
  };
1478
1484
  };
1479
1485
  };
1480
- /** @description Access denied */
1486
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1487
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1488
+ * */
1481
1489
  403: {
1482
1490
  headers: {
1483
1491
  [name: string]: unknown;
@@ -1532,7 +1540,9 @@ export interface paths {
1532
1540
  };
1533
1541
  };
1534
1542
  };
1535
- /** @description Access denied */
1543
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1544
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1545
+ * */
1536
1546
  403: {
1537
1547
  headers: {
1538
1548
  [name: string]: unknown;
@@ -1641,7 +1651,7 @@ export interface paths {
1641
1651
  * Create destination
1642
1652
  * @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.
1643
1653
  *
1644
- * **Banking types**: banking_data required
1654
+ * **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.
1645
1655
  * **Crypto types**: crypto_data required
1646
1656
  * **Internal type**: internal_data required (target wallet on the same platform)
1647
1657
  *
@@ -1703,7 +1713,9 @@ export interface paths {
1703
1713
  "application/json": components["schemas"]["ErrorResponse"];
1704
1714
  };
1705
1715
  };
1706
- /** @description Access denied */
1716
+ /** @description Access denied, or (Clerk tenants) the second-factor verification is
1717
+ * stale — `TWO_FACTOR_REVERIFICATION_REQUIRED`: re-verify and retry.
1718
+ * */
1707
1719
  403: {
1708
1720
  headers: {
1709
1721
  [name: string]: unknown;
@@ -1782,7 +1794,7 @@ export interface paths {
1782
1794
  put?: never;
1783
1795
  /**
1784
1796
  * Create crypto wallet
1785
- * @description Creates a new crypto wallet (Utila wallet) for the platform wallet.
1797
+ * @description Creates a new crypto wallet for the platform wallet.
1786
1798
  * Optionally specify chains to create addresses immediately.
1787
1799
  *
1788
1800
  */
@@ -1800,6 +1812,7 @@ export interface paths {
1800
1812
  "application/json": {
1801
1813
  name: string;
1802
1814
  external_id?: string;
1815
+ /** @description Chain IDs to create addresses on. Omit or leave empty to create a wallet without addresses; the first address added later creates the custody-provider wallet. */
1803
1816
  chains?: number[];
1804
1817
  };
1805
1818
  };
@@ -1948,7 +1961,7 @@ export interface paths {
1948
1961
  post?: never;
1949
1962
  /**
1950
1963
  * Delete crypto wallet
1951
- * @description Soft-deletes a crypto wallet and archives it in Utila.
1964
+ * @description Soft-deletes a crypto wallet and archives it with the custody provider.
1952
1965
  * The wallet is marked as deleted and all addresses are deactivated.
1953
1966
  *
1954
1967
  */
@@ -3024,6 +3037,8 @@ export interface paths {
3024
3037
  * Delete card
3025
3038
  * @description Closes the card at the vendor and sets its status to `CANCELED`. The record is retained (still listable), the action cannot be undone, and a second call answers 400 (`already deleted`).
3026
3039
  *
3040
+ * **Balance sweep**: when this is the last live card on its sub-account, the sub-account's remaining balance is first returned to the wallet through the ordinary `WITHDRAW_CARD_SUBACCOUNT` withdrawal (priced and ledgered like a manual one), and only then is the card closed. The response reports what happened in `sweep`. The sweep is best effort and never blocks the close: when the program offers no withdrawal or the return fails, the card is closed anyway and `sweep.error` / `sweep.left_with_operator` say what stayed at the vendor.
3041
+ *
3027
3042
  * **Authentication**: Bearer token with x-tenant-id header required
3028
3043
  *
3029
3044
  * **Access Control**: Wallet owner or admin of the card's wallet
@@ -3052,6 +3067,23 @@ export interface paths {
3052
3067
  success?: boolean;
3053
3068
  /** @example Card deleted successfully */
3054
3069
  message?: string;
3070
+ /** @description What happened to the sub-account balance before the close */
3071
+ sweep?: {
3072
+ /** @enum {string} */
3073
+ decision?: "sweep" | "skip_no_sub_account" | "skip_shared_sub_account" | "skip_empty" | "skip_not_client_money" | "skip_no_withdrawal_rail";
3074
+ sub_account_id?: string | null;
3075
+ /** @description Balance found on the sub-account before the close */
3076
+ available?: number;
3077
+ currency?: string | null;
3078
+ /** @description Amount actually returned to the wallet (0 when skipped or failed) */
3079
+ swept?: number;
3080
+ /** @description The WITHDRAW_CARD_SUBACCOUNT order that carried the return */
3081
+ order_uuid?: string | null;
3082
+ /** @description Why a due return did not happen; the card was closed regardless */
3083
+ error?: string | null;
3084
+ /** @description Balance the vendor returned to the operator instead of the client on this close (0 when none) */
3085
+ left_with_operator?: number;
3086
+ } | null;
3055
3087
  };
3056
3088
  };
3057
3089
  };
@@ -5017,7 +5049,7 @@ export interface paths {
5017
5049
  */
5018
5050
  gov_id_expiration_date?: string;
5019
5051
  /**
5020
- * @description Tax identifier of the cardholder, separate from the document number. Required by Interlace CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
5052
+ * @description Tax identifier of the cardholder, separate from the document number. Required by some CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
5021
5053
  *
5022
5054
  * @example 123-45-6789
5023
5055
  */
@@ -5317,7 +5349,7 @@ export interface paths {
5317
5349
  gov_id_issuance_date?: string;
5318
5350
  /** Format: date */
5319
5351
  gov_id_expiration_date?: string;
5320
- /** @description Tax identifier (USA + Interlace CONSUMER: SSN, 9 digits or XXX-XX-XXXX) */
5352
+ /** @description Tax identifier (USA + CONSUMER programs that require it: SSN, 9 digits or XXX-XX-XXXX) */
5321
5353
  tax_identification_number?: string;
5322
5354
  address?: {
5323
5355
  line1?: string;
@@ -8166,6 +8198,17 @@ export interface paths {
8166
8198
  * `GET /frontend/counterparty/destinations/{id}/internal-transfer` to
8167
8199
  * offer that option when the destination supports it.
8168
8200
  *
8201
+ * **Cross-currency send (optional).** A `to_currency_id` different from
8202
+ * `from_currency_id` converts on the way out, like the fiat offramps: the
8203
+ * wallet is debited in `from_currency_id`, the destination receives
8204
+ * `amount_to` in `to_currency_id` at the tenant's exchange rate for this
8205
+ * order type. The pair must be configured (`400 EXCHANGE_RATE_NOT_FOUND`),
8206
+ * `to_currency_id` must be on-chain (`400 INVALID_REQUEST`) and the
8207
+ * destination must be registered on the network of `to_currency_id`
8208
+ * (`400 DESTINATION_CHAIN_MISMATCH`). Preview with
8209
+ * `POST /frontend/orders/calc`. Omitted or equal `to_currency_id` is the
8210
+ * plain same-asset transfer.
8211
+ *
8169
8212
  */
8170
8213
  post: {
8171
8214
  parameters: {
@@ -9489,6 +9532,14 @@ export interface paths {
9489
9532
  * carry `request_id` (idempotency key); `scheduled_at` is ignored.
9490
9533
  * Prefer `POST /frontend/orders/withdrawal/crypto`.
9491
9534
  *
9535
+ * A `to_currency_id` different from `from_currency_id` is a cross-currency
9536
+ * send under the same rules as the preferred endpoint (`400
9537
+ * EXCHANGE_RATE_NOT_FOUND` / `INVALID_REQUEST` / `DESTINATION_CHAIN_MISMATCH`).
9538
+ * This alias still downgrades a send to an address of a wallet on this
9539
+ * platform to an off-chain internal transfer, which moves one currency
9540
+ * only — such a request with a different `to_currency_id` is refused with
9541
+ * `400 INVALID_REQUEST` instead of silently delivering `from_currency_id`.
9542
+ *
9492
9543
  */
9493
9544
  post: {
9494
9545
  parameters: {
@@ -9710,7 +9761,12 @@ export interface paths {
9710
9761
  };
9711
9762
  /**
9712
9763
  * Get exchange rates
9713
- * @description Returns exchange rates with tenant-specific fees applied.
9764
+ * @description Returns exchange rates for the pairs enabled for the tenant.
9765
+ *
9766
+ * `rate` is what the tenant trades at: the tenant FX spread is already
9767
+ * applied. `base_rate` carries the market rate it was derived from and
9768
+ * `fx_spread_percent` the percent taken off, so the spread can be shown
9769
+ * as a line of its own.
9714
9770
  *
9715
9771
  * **Authentication**: Bearer token + x-tenant-id header
9716
9772
  *
@@ -10539,8 +10595,8 @@ export interface paths {
10539
10595
  put?: never;
10540
10596
  /**
10541
10597
  * Sync virtual account
10542
- * @description Refreshes the bank account details and deposit instructions from the vendor
10543
- * (Brale / Delos / BCB) and updates the local record. Historical Rail.io
10598
+ * @description Refreshes the bank account details and deposit instructions from the provider
10599
+ * serving the account and updates the local record. Historical Rail.io
10544
10600
  * (RAIL-B / RAIL-C) accounts cannot be refreshed — their stored requisites are
10545
10601
  * returned unchanged.
10546
10602
  *
@@ -10629,7 +10685,7 @@ export interface paths {
10629
10685
  /**
10630
10686
  * Get virtual account
10631
10687
  * @description Retrieves detailed information about a specific virtual account.
10632
- * For accounts linked to a vendor (Brale / Delos / BCB) the requisites are refreshed
10688
+ * For accounts linked to a provider the requisites are refreshed
10633
10689
  * from the vendor on read unless `skip_sync=true`; a failed refresh falls back to the
10634
10690
  * cached data (still 200). Accounts without a vendor link and historical Rail.io
10635
10691
  * accounts return the stored data.
@@ -10718,7 +10774,6 @@ export interface paths {
10718
10774
  *
10719
10775
  * **Supported identifier types:**
10720
10776
  * - `uuid` — user_data.uuid
10721
- * - `id` — user_data.id (numeric)
10722
10777
  * - `email` — user_data.email (case-insensitive)
10723
10778
  * - `phone` — user_data.phone
10724
10779
  * - `telegram` — `telegram_user.tg_id`, or a case-insensitive `username` match (leading `@` ignored)
@@ -10732,7 +10787,7 @@ export interface paths {
10732
10787
  /** @description The search value */
10733
10788
  identifier: string;
10734
10789
  /** @description Type of identifier to search by */
10735
- type: "uuid" | "id" | "email" | "phone" | "telegram";
10790
+ type: "uuid" | "email" | "phone" | "telegram";
10736
10791
  };
10737
10792
  header?: never;
10738
10793
  path?: never;
@@ -12134,7 +12189,7 @@ export interface paths {
12134
12189
  *
12135
12190
  * **Access Control**: Owner or admin of the wallet; wallet KYC must be APPROVED
12136
12191
  *
12137
- * **Note**: New addresses are always provisioned via Utila. The legacy Processing (Accepta) provider was decommissioned; existing `processing` addresses remain readable.
12192
+ * **Note**: New addresses are always provisioned with `type: utila`. The legacy `processing` provider was decommissioned; existing `processing` addresses remain readable.
12138
12193
  *
12139
12194
  */
12140
12195
  post: {
@@ -12639,7 +12694,10 @@ export interface paths {
12639
12694
  */
12640
12695
  user_data_uuid: string;
12641
12696
  /**
12642
- * @description Role to assign to the user
12697
+ * @description Role to assign to the user. Must be one of the roles enabled for the tenant
12698
+ * (tenant config `allowed_roles`); any other role is refused with
12699
+ * 400 `ROLE_NOT_ALLOWED_FOR_TENANT`.
12700
+ *
12643
12701
  * @enum {string}
12644
12702
  */
12645
12703
  role: "auditor" | "user" | "admin";
@@ -12813,7 +12871,10 @@ export interface paths {
12813
12871
  content: {
12814
12872
  "application/json": {
12815
12873
  /**
12816
- * @description New role for the user
12874
+ * @description New role for the user. Must be one of the roles enabled for the tenant
12875
+ * (tenant config `allowed_roles`); any other role is refused with
12876
+ * 400 `ROLE_NOT_ALLOWED_FOR_TENANT`.
12877
+ *
12817
12878
  * @enum {string}
12818
12879
  */
12819
12880
  role: "auditor" | "user" | "admin";
@@ -13146,7 +13207,10 @@ export interface paths {
13146
13207
  */
13147
13208
  email: string;
13148
13209
  /**
13149
- * @description Role to assign on acceptance
13210
+ * @description Role to assign on acceptance. Must be one of the roles enabled for the tenant
13211
+ * (tenant config `allowed_roles`); any other role is refused with
13212
+ * 400 `ROLE_NOT_ALLOWED_FOR_TENANT`.
13213
+ *
13150
13214
  * @enum {string}
13151
13215
  */
13152
13216
  role: "auditor" | "user" | "admin";
@@ -13406,7 +13470,7 @@ export interface components {
13406
13470
  * @example EXCHANGE_OMNI
13407
13471
  * @enum {string}
13408
13472
  */
13409
- OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE";
13473
+ OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE";
13410
13474
  OrderCalculation: {
13411
13475
  /**
13412
13476
  * Format: uuid
@@ -13429,10 +13493,20 @@ export interface components {
13429
13493
  */
13430
13494
  result_amount: number;
13431
13495
  /**
13432
- * @description Exchange rate applied (source → destination), 6 decimals.
13496
+ * @description Exchange rate applied (source → destination), 6 decimals. Includes the tenant FX spread.
13433
13497
  * @example 0.985
13434
13498
  */
13435
13499
  rate: number;
13500
+ /**
13501
+ * @description Market rate before the tenant FX spread. Equal to `rate` when no spread applies.
13502
+ * @example 1
13503
+ */
13504
+ base_rate: number;
13505
+ /**
13506
+ * @description Tenant FX spread already taken off `rate`, in whole percent.
13507
+ * @example 1.5
13508
+ */
13509
+ fx_spread: number;
13436
13510
  /**
13437
13511
  * @description Total fees (comission + network_fee), in the source currency.
13438
13512
  * @example 1.5
@@ -13530,7 +13604,7 @@ export interface components {
13530
13604
  /** @description Active destinations belonging to this account. */
13531
13605
  destinations: components["schemas"]["CounterpartyDestination"][];
13532
13606
  };
13533
- /** @description Registered postal address of the BANK (not the beneficiary). On create it is replaced atomically by the bank-directory address when the submitted bank code resolves to a complete one; otherwise the submitted address is kept. */
13607
+ /** @description Postal address of a banking destination — whose address it is (the bank vs the beneficiary) is defined by the property that carries it. */
13534
13608
  CounterpartyBankingAddress: {
13535
13609
  city?: string | null;
13536
13610
  postcode?: string | null;
@@ -13555,7 +13629,10 @@ export interface components {
13555
13629
  /** @description Sort code (6 digits, UK banking) */
13556
13630
  sort_code?: string | null;
13557
13631
  note?: string | null;
13632
+ /** @description Registered postal address of the BANK (not the beneficiary). On create it is replaced atomically by the bank-directory address when the submitted bank code resolves to a complete one; otherwise the submitted address is kept. */
13558
13633
  address?: components["schemas"]["CounterpartyBankingAddress"] | null;
13634
+ /** @description The beneficiary's (recipient's) own postal address. Optional on create; never touched by bank-directory enrichment and exempt from the bank-country check (the recipient may live outside the bank's country). Null → payouts use `address` (the bank address). */
13635
+ beneficiary_address?: components["schemas"]["CounterpartyBankingAddress"] | null;
13559
13636
  /** Format: date-time */
13560
13637
  created_at: string;
13561
13638
  } | null;
@@ -13766,10 +13843,10 @@ export interface components {
13766
13843
  cardholder_requirements?: {
13767
13844
  /** @enum {string} */
13768
13845
  level?: "minimal" | "basic" | "declared" | "full";
13769
- /** @description Required field names; address fields are dotted (address.line1). Interlace CONSUMER also lists gov_id_issuance_date and gov_id_expiration_date (ISO YYYY-MM-DD). */
13846
+ /** @description Required field names; address fields are dotted (address.line1). Some CONSUMER programs also list gov_id_issuance_date and gov_id_expiration_date (ISO YYYY-MM-DD). */
13770
13847
  required?: string[];
13771
13848
  required_documents?: ("gov_id_front" | "gov_id_back" | "selfie")[];
13772
- /** @description Human-readable constraints the field list cannot express. Interlace CONSUMER: if nationality is USA, tax_identification_number is required and must be a valid SSN. */
13849
+ /** @description Human-readable constraints the field list cannot express — e.g. a CONSUMER program requiring tax_identification_number to be a valid SSN when nationality is USA. */
13773
13850
  notes?: string[];
13774
13851
  /** @description What each country changes, keyed by ISO 3166-1 alpha-3 with a `default` entry; empty when the vendor reviews nothing. These fields stay out of `required` because they only hold once the nationality or address country is known: read the rule for the nationality the user picked (required_by_nationality), the rule for the address country (required_by_address), and the rule for the country that issued the document (gov_id_types). */
13775
13852
  country_rules?: {
@@ -14008,7 +14085,7 @@ export interface components {
14008
14085
  transaction_amount: number;
14009
14086
  /** @example USD */
14010
14087
  transaction_currency: string;
14011
- /** @description What actually left the card: `billing_amount` plus `fee` for a debit. Show this one when a fee sits inside the operation. */
14088
+ /** @description What actually left the card: `billing_amount` plus `fee` for a debit, minus it for a credit, and 0 when `status` is `DECLINED` — a refusal moves no money, however much the vendor quoted for it. Show this one when a fee sits inside the operation. */
14012
14089
  total_amount?: number;
14013
14090
  /** @description Fee charged inside this operation, in billing currency. 0 for vendors that bill fees as their own transactions (those arrive as separate rows with `transaction_type: FEE`). */
14014
14091
  fee?: number;
@@ -14889,11 +14966,20 @@ export interface components {
14889
14966
  * @default false
14890
14967
  */
14891
14968
  is_reverse: boolean;
14892
- /** Format: uuid */
14969
+ /**
14970
+ * Format: uuid
14971
+ * @description Currency debited from the wallet.
14972
+ */
14893
14973
  from_currency_id: string;
14894
- /** Format: uuid */
14974
+ /**
14975
+ * Format: uuid
14976
+ * @description Optional. Currency delivered on-chain to the destination. Omitted or equal to `from_currency_id`: a plain transfer of the same asset. Different: a cross-currency send — the wallet is debited in `from_currency_id`, the destination receives `amount_to` in `to_currency_id` at the tenant's `OMNIBUS_CRYPTO_TRANSFER` exchange rate (like the fiat offramps). Requires a configured pair (`400 EXCHANGE_RATE_NOT_FOUND`), an on-chain currency (`400 INVALID_REQUEST`) and a destination registered on the network of `to_currency_id` (`400 DESTINATION_CHAIN_MISMATCH`). Preview with `POST /frontend/orders/calc`.
14977
+ */
14895
14978
  to_currency_id?: string;
14896
- /** Format: uuid */
14979
+ /**
14980
+ * Format: uuid
14981
+ * @description A `CRYPTO_EXTERNAL` counterparty destination. For a cross-currency send its address must be on the network of `to_currency_id`.
14982
+ */
14897
14983
  counterparty_destination_id: string;
14898
14984
  /** Format: uuid */
14899
14985
  wallet_account_id?: string;
@@ -15361,7 +15447,7 @@ export interface components {
15361
15447
  /** Format: uuid */
15362
15448
  id: string;
15363
15449
  /** @enum {string} */
15364
- type: "DEPOSIT_RECEIVED" | "TRANSFER_RECEIVED" | "ORDER_STATUS_CHANGED" | "KYC_STATUS_CHANGED" | "ANNOUNCEMENT" | "SYSTEM_MESSAGE";
15450
+ type: "DEPOSIT_RECEIVED" | "TRANSFER_RECEIVED" | "ORDER_STATUS_CHANGED" | "KYC_STATUS_CHANGED" | "ANNOUNCEMENT" | "SYSTEM_MESSAGE" | "MASS_PAYOUT_STATUS_CHANGED" | "CARD_OTP";
15365
15451
  /** @description Structured fact snapshot; the client renders the presentation. Shape depends on `type`; evolution is additive-only. */
15366
15452
  payload: Record<string, never>;
15367
15453
  /** Format: uuid */
@@ -15373,12 +15459,12 @@ export interface components {
15373
15459
  };
15374
15460
  NotificationPreference: {
15375
15461
  /** @enum {string} */
15376
- channel: "IN_APP" | "PUSH" | "EMAIL" | "TELEGRAM";
15462
+ channel: "IN_APP" | "PUSH" | "EMAIL" | "TELEGRAM" | "SMS";
15377
15463
  enabled: boolean;
15378
15464
  };
15379
15465
  NotificationCategoryPreference: {
15380
15466
  /** @enum {string} */
15381
- category: "TRANSACTIONS" | "COMPLIANCE" | "ANNOUNCEMENTS" | "SYSTEM";
15467
+ category: "TRANSACTIONS" | "COMPLIANCE" | "ANNOUNCEMENTS" | "SYSTEM" | "SECURITY";
15382
15468
  enabled: boolean;
15383
15469
  };
15384
15470
  };
@@ -1238,7 +1238,10 @@ export interface paths {
1238
1238
  post?: never;
1239
1239
  /**
1240
1240
  * Cancel a card
1241
- * @description Cancels (permanently deactivates) a card by its ID
1241
+ * @description Cancels (permanently deactivates) a card by its ID.
1242
+ *
1243
+ * When this is the last live card on its sub-account, the sub-account's remaining balance is first returned to the wallet through the ordinary `WITHDRAW_CARD_SUBACCOUNT` withdrawal, and only then is the card closed; the response carries the outcome in `sweep`. The sweep is best effort and never blocks the close: when the program offers no withdrawal or the return fails, the card is closed anyway and `sweep.error` / `sweep.left_with_operator` say what stayed at the vendor.
1244
+ *
1242
1245
  */
1243
1246
  delete: {
1244
1247
  parameters: {
@@ -1252,7 +1255,7 @@ export interface paths {
1252
1255
  };
1253
1256
  requestBody?: never;
1254
1257
  responses: {
1255
- /** @description Card successfully canceled */
1258
+ /** @description Card successfully canceled; `sweep` reports what happened to the balance */
1256
1259
  200: {
1257
1260
  headers: {
1258
1261
  [name: string]: unknown;
@@ -5538,6 +5541,14 @@ export interface paths {
5538
5541
  * **External transfer:** If the address is external, creates an `OMNIBUS_CRYPTO_TRANSFER` order
5539
5542
  * in status `NEW`, triggers async QStash workflow for blockchain transaction.
5540
5543
  *
5544
+ * **Cross-currency send:** a `to_currency_id` different from `from_currency_id` debits
5545
+ * `from_currency_id` and delivers `amount_to` in `to_currency_id` on its own network, at the
5546
+ * tenant's exchange rate for this order type (`400 EXCHANGE_RATE_NOT_FOUND` when the pair is
5547
+ * not configured, `400 INVALID_REQUEST` when `to_currency_id` is not on-chain,
5548
+ * `400 DESTINATION_CHAIN_MISMATCH` when the destination is registered on another network).
5549
+ * The internal downgrade moves one currency only, so it refuses a different `to_currency_id`
5550
+ * with `400 INVALID_REQUEST`.
5551
+ *
5541
5552
  */
5542
5553
  post: {
5543
5554
  parameters: {
@@ -5583,9 +5594,14 @@ export interface paths {
5583
5594
  wallet_account_id?: string;
5584
5595
  /**
5585
5596
  * Format: uuid
5586
- * @description Currency UUID
5597
+ * @description Currency debited from the wallet
5587
5598
  */
5588
5599
  from_currency_id: string;
5600
+ /**
5601
+ * Format: uuid
5602
+ * @description Optional. Currency delivered on-chain; omitted or equal to `from_currency_id` is a plain same-asset transfer, a different value is a cross-currency send (see above)
5603
+ */
5604
+ to_currency_id?: string;
5589
5605
  /**
5590
5606
  * @description Calculate in reverse (starting from the destination amount). Ignored for internal transfers.
5591
5607
  * @example false
@@ -7151,7 +7167,7 @@ export interface components {
7151
7167
  * @example EXCHANGE_OMNI
7152
7168
  * @enum {string}
7153
7169
  */
7154
- OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE";
7170
+ OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE";
7155
7171
  /** @description Order type reference with optional product guardrails, associated KYC rails and tenant billing rates */
7156
7172
  OrderType: {
7157
7173
  /** @description Order type identifier (e.g. EXCHANGE, WITHDRAWAL_CRYPTO) */
@@ -1033,6 +1033,7 @@ export interface paths {
1033
1033
  "application/json": {
1034
1034
  name: string;
1035
1035
  external_id?: string;
1036
+ /** @description Chain IDs to create addresses on. Omit or leave empty to create a wallet without addresses; the first address added later creates the custody-provider wallet. */
1036
1037
  chains?: number[];
1037
1038
  };
1038
1039
  };
@@ -1193,7 +1194,7 @@ export interface paths {
1193
1194
  post?: never;
1194
1195
  /**
1195
1196
  * Delete crypto wallet
1196
- * @description Soft-deletes a crypto wallet and archives it in Utila.
1197
+ * @description Soft-deletes a crypto wallet and archives it with the custody provider.
1197
1198
  * The wallet is marked as deleted and all addresses are deactivated.
1198
1199
  *
1199
1200
  */
@@ -2577,6 +2578,10 @@ export interface paths {
2577
2578
  * @default false
2578
2579
  */
2579
2580
  is_reverse?: boolean;
2581
+ /** @description Free-form reference visible in order/transaction listings */
2582
+ reference?: string;
2583
+ /** @description Internal note attached to the order */
2584
+ note?: string;
2580
2585
  /**
2581
2586
  * Format: date-time
2582
2587
  * @description Optional. Schedule the transfer for a future time (min 1 hour, max 90 days ahead). No funds are reserved; after approval the order waits in EXPECTED status and executes automatically.
@@ -2654,6 +2659,17 @@ export interface paths {
2654
2659
  * a wallet on this platform. Internal (off-chain) transfers are created
2655
2660
  * only through the internal transfer endpoint.
2656
2661
  *
2662
+ * **Cross-currency send (optional).** A `to_currency_id` different from
2663
+ * `from_currency_id` converts on the way out, like the fiat offramps: the
2664
+ * wallet is debited in `from_currency_id`, the destination receives
2665
+ * `amount_to` in `to_currency_id` at the tenant's exchange rate for this
2666
+ * order type. The pair must be configured (`400 EXCHANGE_RATE_NOT_FOUND`),
2667
+ * `to_currency_id` must be on-chain (`400 INVALID_REQUEST`) and the
2668
+ * destination must be registered on the network of `to_currency_id`
2669
+ * (`400 DESTINATION_CHAIN_MISMATCH`). Preview with
2670
+ * `POST /admin/orders/calc`. Omitted or equal `to_currency_id` is the
2671
+ * plain same-asset transfer.
2672
+ *
2657
2673
  */
2658
2674
  post: {
2659
2675
  parameters: {
@@ -6212,7 +6228,7 @@ export interface paths {
6212
6228
  */
6213
6229
  gov_id_expiration_date?: string;
6214
6230
  /**
6215
- * @description Tax identifier of the cardholder, separate from the document number. Required by Interlace CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
6231
+ * @description Tax identifier of the cardholder, separate from the document number. Required by some CONSUMER programs when nationality is USA, where it must be a valid SSN (9 digits or XXX-XX-XXXX).
6216
6232
  *
6217
6233
  * @example 123-45-6789
6218
6234
  */
@@ -6408,7 +6424,7 @@ export interface paths {
6408
6424
  gov_id_issuance_date?: string;
6409
6425
  /** Format: date */
6410
6426
  gov_id_expiration_date?: string;
6411
- /** @description Tax identifier (USA + Interlace CONSUMER: SSN, 9 digits or XXX-XX-XXXX) */
6427
+ /** @description Tax identifier (USA + CONSUMER programs that require it: SSN, 9 digits or XXX-XX-XXXX) */
6412
6428
  tax_identification_number?: string;
6413
6429
  address?: {
6414
6430
  line1?: string;
@@ -7927,7 +7943,7 @@ export interface components {
7927
7943
  */
7928
7944
  cvv: string;
7929
7945
  /**
7930
- * @description 3-D Secure password where the vendor exposes one (Wallester); `null` otherwise.
7946
+ * @description 3-D Secure password where the card program exposes one; `null` otherwise.
7931
7947
  * @example null
7932
7948
  */
7933
7949
  security_code: string | null;
@@ -8677,7 +8693,7 @@ export interface components {
8677
8693
  * @example EXCHANGE_OMNI
8678
8694
  * @enum {string}
8679
8695
  */
8680
- OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE";
8696
+ OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE";
8681
8697
  OrderType: {
8682
8698
  id?: components["schemas"]["OrderTypeId"];
8683
8699
  description?: string;
@@ -8731,9 +8747,20 @@ export interface components {
8731
8747
  * @default false
8732
8748
  */
8733
8749
  is_reverse: boolean;
8734
- /** Format: uuid */
8750
+ /**
8751
+ * Format: uuid
8752
+ * @description Currency debited from the wallet.
8753
+ */
8735
8754
  from_currency_id: string;
8736
- /** Format: uuid */
8755
+ /**
8756
+ * Format: uuid
8757
+ * @description Optional. Currency delivered on-chain to the destination. Omitted or equal to `from_currency_id`: a plain transfer of the same asset. Different: a cross-currency send — the wallet is debited in `from_currency_id`, the destination receives `amount_to` in `to_currency_id` at the tenant's `OMNIBUS_CRYPTO_TRANSFER` exchange rate (like the fiat offramps). Requires a configured pair (`400 EXCHANGE_RATE_NOT_FOUND`), an on-chain currency (`400 INVALID_REQUEST`) and a destination registered on the network of `to_currency_id` (`400 DESTINATION_CHAIN_MISMATCH`). Preview with `POST /admin/orders/calc`.
8758
+ */
8759
+ to_currency_id?: string;
8760
+ /**
8761
+ * Format: uuid
8762
+ * @description A `CRYPTO_EXTERNAL` counterparty destination. For a cross-currency send its address must be on the network of `to_currency_id`.
8763
+ */
8737
8764
  counterparty_destination_id: string;
8738
8765
  /** @description Free-form reference visible in order/transaction listings */
8739
8766
  reference?: string;
@@ -2036,6 +2036,12 @@ export interface components {
2036
2036
  * "business"
2037
2037
  * ] */
2038
2038
  allowed_kyc_entity_types: ("individual" | "business" | "universal")[] | null;
2039
+ /** @example [
2040
+ * "owner",
2041
+ * "admin",
2042
+ * "auditor"
2043
+ * ] */
2044
+ allowed_roles: ("owner" | "admin" | "user" | "auditor")[];
2039
2045
  tg_bot_name: string | null;
2040
2046
  theme_switch: boolean;
2041
2047
  enable_exchange: boolean;
@@ -3844,6 +3850,8 @@ export interface operations {
3844
3850
  query?: {
3845
3851
  /** @description Whether to prefill the provider verification with the current user data (email, phone, name). Defaults to true. */
3846
3852
  prefill?: boolean;
3853
+ /** @description Reuse the current user's approved user-level verification for this entity instead of collecting it again. Omit to take the per-type default: individual reuses it (the dossier is the user), business does not (reuse means "I am a UBO of this company" and is opt-in). Pass false to opt out, true to require it — an explicit true fails when the user-level verification is not approved, while the default silently falls back to a normal verification. Only honoured by providers that keep a reusable user-level verification. */
3854
+ reuse_user_verification?: boolean;
3847
3855
  };
3848
3856
  header?: never;
3849
3857
  path: {
@@ -3861,6 +3869,13 @@ export interface operations {
3861
3869
  "application/json": components["schemas"]["InitKycDataCollectionResponseDto"];
3862
3870
  };
3863
3871
  };
3872
+ /** @description reuse_user_verification requested for an entity type that supports no reuse */
3873
+ 400: {
3874
+ headers: {
3875
+ [name: string]: unknown;
3876
+ };
3877
+ content?: never;
3878
+ };
3864
3879
  /** @description Unauthorized */
3865
3880
  401: {
3866
3881
  headers: {
@@ -526,7 +526,7 @@ export declare namespace API {
526
526
  counterparty_account_id: string;
527
527
  type: CounterpartyDestinationType;
528
528
  nickname?: string;
529
- external_banking_data?: Pick<List.DestinationListItemExternalBankingData, 'account_number' | 'routing_number' | 'bank_name' | 'swift_bic' | 'iban' | 'sort_code' | 'note' | 'address'>;
529
+ external_banking_data?: Pick<List.DestinationListItemExternalBankingData, 'account_number' | 'routing_number' | 'bank_name' | 'swift_bic' | 'iban' | 'sort_code' | 'note' | 'address' | 'beneficiary_address'>;
530
530
  external_crypto_data?: Pick<List.DestinationListItemExternalCryptoData, 'currency_id' | 'address' | 'memo'>;
531
531
  internal_data?: Pick<List.DestinationInternalData, 'wallet_id' | 'description'>;
532
532
  }
@@ -1287,6 +1287,25 @@ export declare namespace API {
1287
1287
  type Request = operations['KycEntitiesController_findOne']['parameters']['path'];
1288
1288
  type Response = operations['KycEntitiesController_findOne']['responses']['200']['content']['application/json'];
1289
1289
  }
1290
+ namespace Create {
1291
+ type Request = operations['KycEntitiesController_create']['requestBody']['content']['application/json'];
1292
+ type Response = operations['KycEntitiesController_create']['responses']['201']['content']['application/json'];
1293
+ }
1294
+ namespace List {
1295
+ type Response = operations['KycEntitiesController_findMy']['responses']['200']['content']['application/json'];
1296
+ }
1297
+ namespace GetById {
1298
+ type Request = operations['KycEntitiesController_findById']['parameters']['path'];
1299
+ type Response = operations['KycEntitiesController_findById']['responses']['200']['content']['application/json'];
1300
+ }
1301
+ namespace Init {
1302
+ type Request = operations['KycEntitiesController_initDataCollection']['parameters']['path'] & NonNullable<operations['KycEntitiesController_initDataCollection']['parameters']['query']>;
1303
+ type Response = operations['KycEntitiesController_initDataCollection']['responses']['200']['content']['application/json'];
1304
+ }
1305
+ namespace Resume {
1306
+ type Request = operations['KycEntitiesController_resumeDataCollection']['parameters']['path'];
1307
+ type Response = operations['KycEntitiesController_resumeDataCollection']['responses']['200']['content']['application/json'];
1308
+ }
1290
1309
  }
1291
1310
  export namespace Forms {
1292
1311
  namespace FormField {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.59",
3
+ "version": "1.36.61",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",