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 +1 -1
- package/dist/api/kyc.d.ts +8 -1
- package/dist/api/kyc.js +8 -1
- package/dist/api/types/autogen/apiV1External.types.d.ts +62 -16
- package/dist/api/types/autogen/apiV1Frontend.types.d.ts +119 -33
- package/dist/api/types/autogen/apiV1Legacy.types.d.ts +20 -4
- package/dist/api/types/autogen/apiV1Tenant.types.d.ts +34 -7
- package/dist/api/types/autogen/apiV2.types.d.ts +15 -0
- package/dist/api/types/types.d.ts +20 -1
- package/package.json +1 -1
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** |
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
1141
|
-
*
|
|
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
|
|
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
|
|
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 +
|
|
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
|
|
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
|
|
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).
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 +
|
|
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
|
|
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
|
|
10543
|
-
*
|
|
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
|
|
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" | "
|
|
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
|
|
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
|
|
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).
|
|
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.
|
|
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
|
-
/**
|
|
14969
|
+
/**
|
|
14970
|
+
* Format: uuid
|
|
14971
|
+
* @description Currency debited from the wallet.
|
|
14972
|
+
*/
|
|
14893
14973
|
from_currency_id: string;
|
|
14894
|
-
/**
|
|
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
|
-
/**
|
|
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
|
|
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
|
|
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
|
|
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 +
|
|
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
|
|
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
|
-
/**
|
|
8750
|
+
/**
|
|
8751
|
+
* Format: uuid
|
|
8752
|
+
* @description Currency debited from the wallet.
|
|
8753
|
+
*/
|
|
8735
8754
|
from_currency_id: string;
|
|
8736
|
-
/**
|
|
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 {
|