squarefi-bff-api-module 1.36.100 → 1.36.102
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/dist/api/types/autogen/apiV1External.types.d.ts +4 -2
- package/dist/api/types/autogen/apiV1Frontend.types.d.ts +253 -46
- package/dist/api/types/autogen/apiV1Legacy.types.d.ts +1 -1
- package/dist/api/types/autogen/apiV1Tenant.types.d.ts +1 -1
- package/dist/api/types/autogen/apiV2.types.d.ts +17 -0
- package/dist/api/types/types.d.ts +34 -3
- package/package.json +1 -1
|
@@ -7518,7 +7518,7 @@ export interface components {
|
|
|
7518
7518
|
* @example EXCHANGE_OMNI
|
|
7519
7519
|
* @enum {string}
|
|
7520
7520
|
*/
|
|
7521
|
-
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_FEDNOW_ONRAMP" | "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" | "REFERRAL_PAYOUT";
|
|
7521
|
+
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_FEDNOW_ONRAMP" | "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" | "BC3_SWIFT_ONRAMP" | "BC3_SWIFT_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" | "REFERRAL_PAYOUT";
|
|
7522
7522
|
OrderCalculation: {
|
|
7523
7523
|
/**
|
|
7524
7524
|
* Format: uuid
|
|
@@ -8708,7 +8708,7 @@ export interface components {
|
|
|
8708
8708
|
info?: string | null;
|
|
8709
8709
|
balance_before?: number | null;
|
|
8710
8710
|
balance_after?: number | null;
|
|
8711
|
-
/** @description Transaction metadata */
|
|
8711
|
+
/** @description Transaction metadata. The `FEE` row of an AML check carries `screened_address`. The `REFUND` row of that fee does not: follow its `order_uuid` to the `AML_CHECK` order. */
|
|
8712
8712
|
meta?: Record<string, never> | null;
|
|
8713
8713
|
currency?: components["schemas"]["CurrencyRef"];
|
|
8714
8714
|
};
|
|
@@ -8739,6 +8739,8 @@ export interface components {
|
|
|
8739
8739
|
from_address?: string | null;
|
|
8740
8740
|
to_address?: string | null;
|
|
8741
8741
|
to_crypto_address?: string | null;
|
|
8742
|
+
/** @description The screened address (`AML_CHECK` orders only) */
|
|
8743
|
+
screened_address?: string | null;
|
|
8742
8744
|
txid?: string | null;
|
|
8743
8745
|
transaction_hash?: string | null;
|
|
8744
8746
|
/** Format: uuid */
|
|
@@ -966,7 +966,80 @@ export interface paths {
|
|
|
966
966
|
path?: never;
|
|
967
967
|
cookie?: never;
|
|
968
968
|
};
|
|
969
|
-
|
|
969
|
+
/**
|
|
970
|
+
* List the wallet's screenings, newest first
|
|
971
|
+
* @description Every screening of the wallet whose fee was charged, whoever in the
|
|
972
|
+
* wallet ran it: running, completed and failed ones. Any member of the
|
|
973
|
+
* wallet can read it. A request refused
|
|
974
|
+
* before the charge (for example `INSUFFICIENT_FUNDS`) is not listed.
|
|
975
|
+
* `report_available` says whether the report can be downloaded.
|
|
976
|
+
*
|
|
977
|
+
*/
|
|
978
|
+
get: {
|
|
979
|
+
parameters: {
|
|
980
|
+
query?: {
|
|
981
|
+
/** @description Number of screenings to skip */
|
|
982
|
+
offset?: number;
|
|
983
|
+
/** @description Page size */
|
|
984
|
+
limit?: number;
|
|
985
|
+
/** @description Only screenings whose address contains this value, in any case. A whole address finds that address, a part of one works as a search */
|
|
986
|
+
address?: string;
|
|
987
|
+
/** @description Only screenings on this network — `asset.chain_id` of a screening, `id` in `GET /frontend/reference/chains` */
|
|
988
|
+
chain_id?: number;
|
|
989
|
+
};
|
|
990
|
+
header?: never;
|
|
991
|
+
path: {
|
|
992
|
+
/** @description Wallet the screening belongs to (and is paid from) */
|
|
993
|
+
wallet_id: components["parameters"]["AmlWalletId"];
|
|
994
|
+
};
|
|
995
|
+
cookie?: never;
|
|
996
|
+
};
|
|
997
|
+
requestBody?: never;
|
|
998
|
+
responses: {
|
|
999
|
+
/** @description A page of screenings */
|
|
1000
|
+
200: {
|
|
1001
|
+
headers: {
|
|
1002
|
+
[name: string]: unknown;
|
|
1003
|
+
};
|
|
1004
|
+
content: {
|
|
1005
|
+
"application/json": {
|
|
1006
|
+
/** @example true */
|
|
1007
|
+
success: boolean;
|
|
1008
|
+
data: components["schemas"]["AmlScreening"][];
|
|
1009
|
+
pagination: components["schemas"]["PaginationResponse"];
|
|
1010
|
+
};
|
|
1011
|
+
};
|
|
1012
|
+
};
|
|
1013
|
+
/** @description Validation error (`offset`, `limit`, `address`, `chain_id`; `VALIDATION_ERROR`, `details.issues[].field`) */
|
|
1014
|
+
400: {
|
|
1015
|
+
headers: {
|
|
1016
|
+
[name: string]: unknown;
|
|
1017
|
+
};
|
|
1018
|
+
content: {
|
|
1019
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
1020
|
+
};
|
|
1021
|
+
};
|
|
1022
|
+
401: components["responses"]["UnauthorizedError"];
|
|
1023
|
+
/** @description Feature not enabled for the tenant (AML_CHECK_NOT_ENABLED), no access to the wallet (ACCESS_DENIED) or the wallet's KYC is not approved (KYC_REQUIREMENTS_NOT_MET; a wallet on hold can still read) */
|
|
1024
|
+
403: {
|
|
1025
|
+
headers: {
|
|
1026
|
+
[name: string]: unknown;
|
|
1027
|
+
};
|
|
1028
|
+
content: {
|
|
1029
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
1030
|
+
};
|
|
1031
|
+
};
|
|
1032
|
+
/** @description Too many requests (RATE_LIMIT_EXCEEDED) */
|
|
1033
|
+
429: {
|
|
1034
|
+
headers: {
|
|
1035
|
+
[name: string]: unknown;
|
|
1036
|
+
};
|
|
1037
|
+
content: {
|
|
1038
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
1039
|
+
};
|
|
1040
|
+
};
|
|
1041
|
+
};
|
|
1042
|
+
};
|
|
970
1043
|
put?: never;
|
|
971
1044
|
/**
|
|
972
1045
|
* Pay for and start an AML screening of a crypto address
|
|
@@ -978,6 +1051,12 @@ export interface paths {
|
|
|
978
1051
|
* `GET /frontend/aml/{wallet_id}/screenings/{id}` for the verdict
|
|
979
1052
|
* (`COMPLETED` or `FAILED`). A failed screening refunds the fee in full.
|
|
980
1053
|
*
|
|
1054
|
+
* An address that does not fit the network of `currency_id` answers
|
|
1055
|
+
* `400 VALIDATION_ERROR` (`details.issues[].field: address`) and charges
|
|
1056
|
+
* nothing. Networks of one family share a format: an Ethereum address
|
|
1057
|
+
* passes on BSC. A network whose format cannot be checked is not
|
|
1058
|
+
* validated here.
|
|
1059
|
+
*
|
|
981
1060
|
* Send an `Idempotency-Key` header to make a retry return the screening
|
|
982
1061
|
* the first call created instead of charging again.
|
|
983
1062
|
*
|
|
@@ -1004,7 +1083,10 @@ export interface paths {
|
|
|
1004
1083
|
requestBody: {
|
|
1005
1084
|
content: {
|
|
1006
1085
|
"application/json": {
|
|
1007
|
-
/**
|
|
1086
|
+
/**
|
|
1087
|
+
* @description Must fit the network of `currency_id`
|
|
1088
|
+
* @example TAX544wj9oDmAqWLzuAnYLU9GfS8XncsJ9
|
|
1089
|
+
*/
|
|
1008
1090
|
address: string;
|
|
1009
1091
|
/**
|
|
1010
1092
|
* Format: uuid
|
|
@@ -1033,7 +1115,7 @@ export interface paths {
|
|
|
1033
1115
|
};
|
|
1034
1116
|
};
|
|
1035
1117
|
};
|
|
1036
|
-
/** @description Validation error, unsupported asset (AML_ASSET_NOT_SUPPORTED), insufficient funds (INSUFFICIENT_FUNDS) or a fee that cannot be priced (AML_FEE_NOT_PRICEABLE) */
|
|
1118
|
+
/** @description Validation error (an address that does not fit the network of `currency_id` included), unsupported asset (AML_ASSET_NOT_SUPPORTED), insufficient funds (INSUFFICIENT_FUNDS) or a fee that cannot be priced (AML_FEE_NOT_PRICEABLE) */
|
|
1037
1119
|
400: {
|
|
1038
1120
|
headers: {
|
|
1039
1121
|
[name: string]: unknown;
|
|
@@ -1111,6 +1193,15 @@ export interface paths {
|
|
|
1111
1193
|
};
|
|
1112
1194
|
};
|
|
1113
1195
|
};
|
|
1196
|
+
/** @description Feature not enabled for the tenant (AML_CHECK_NOT_ENABLED) or no access to the wallet */
|
|
1197
|
+
403: {
|
|
1198
|
+
headers: {
|
|
1199
|
+
[name: string]: unknown;
|
|
1200
|
+
};
|
|
1201
|
+
content: {
|
|
1202
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
1203
|
+
};
|
|
1204
|
+
};
|
|
1114
1205
|
/** @description Not found in this wallet (SCREENING_NOT_FOUND) */
|
|
1115
1206
|
404: {
|
|
1116
1207
|
headers: {
|
|
@@ -1176,6 +1267,15 @@ export interface paths {
|
|
|
1176
1267
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
1177
1268
|
};
|
|
1178
1269
|
};
|
|
1270
|
+
/** @description Feature not enabled for the tenant (AML_CHECK_NOT_ENABLED) or no access to the wallet */
|
|
1271
|
+
403: {
|
|
1272
|
+
headers: {
|
|
1273
|
+
[name: string]: unknown;
|
|
1274
|
+
};
|
|
1275
|
+
content: {
|
|
1276
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
1277
|
+
};
|
|
1278
|
+
};
|
|
1179
1279
|
/** @description Not found in this wallet (SCREENING_NOT_FOUND) */
|
|
1180
1280
|
404: {
|
|
1181
1281
|
headers: {
|
|
@@ -6045,6 +6145,12 @@ export interface paths {
|
|
|
6045
6145
|
* document photos call `POST /cardholders` with the member's `user_data_id` — it answers
|
|
6046
6146
|
* `409` with this `cardholder_id` after completing the row from the member's KYC
|
|
6047
6147
|
* dossier. When the member has not passed that verification, run it first.
|
|
6148
|
+
* - `NEEDS_CARD_FORM` — KYC forms flow only: required fields of the program's card form are
|
|
6149
|
+
* still empty. Only the member fills that form in their personal KYC entity; the create is
|
|
6150
|
+
* refused until they do (`400 CARD_REQUIREMENTS_INCOMPLETE`, or `400 KYC_PERSONAL_ENTITY_MISSING`
|
|
6151
|
+
* for a member with no personal entity), and fields in the request body do not help.
|
|
6152
|
+
* `will_require` names what the member has left: tell them to fill the card form, do not
|
|
6153
|
+
* ask the caller for these fields.
|
|
6048
6154
|
* - `NEEDS_RESUBMIT` — the VENDOR's review of the cardholder came back rejected (or asked
|
|
6049
6155
|
* for part of the dossier again). Not a dead end: fix what `reject_reason` names —
|
|
6050
6156
|
* `PATCH` the field, or re-upload and re-attach the document — then call
|
|
@@ -6065,22 +6171,24 @@ export interface paths {
|
|
|
6065
6171
|
* - `NOT_MEMBER` — the uuid is not an active member of this wallet.
|
|
6066
6172
|
*
|
|
6067
6173
|
* **On a tenant of the KYC forms flow** (SFI-2544) the verdict comes from the member's personal
|
|
6068
|
-
* KYC entity and the program's card form, not from the profile statuses: `CAN_CREATE`
|
|
6069
|
-
*
|
|
6070
|
-
*
|
|
6071
|
-
*
|
|
6072
|
-
* `
|
|
6073
|
-
*
|
|
6074
|
-
*
|
|
6174
|
+
* KYC entity and the program's card form, not from the profile statuses: `CAN_CREATE` when the
|
|
6175
|
+
* form is complete, with nothing in `will_require`; `NEEDS_CARD_FORM` with `will_require` = the
|
|
6176
|
+
* required fields of the card form still empty in the entity (catalog keys such as `first_name`,
|
|
6177
|
+
* `email`, `phone`), `NEEDS_VERIFICATION` while the level needs the identity check and it has
|
|
6178
|
+
* not passed, `REJECTED` for an application refused for good, `PENDING` while compliance
|
|
6179
|
+
* untangles several personal entities of the member or while every required field is answered
|
|
6180
|
+
* but some wait in a submission under review. A member without a personal entity is
|
|
6181
|
+
* `NEEDS_CARD_FORM` with every required field of the form in `will_require` — or
|
|
6182
|
+
* `NEEDS_VERIFICATION` when the level needs the identity check, which such a member has not passed.
|
|
6075
6183
|
*
|
|
6076
6184
|
* **`will_require`**: fields the client should expect to collect BY HAND (same vocabulary
|
|
6077
6185
|
* as the submit 400 `missing` list, e.g. `address.line1`, `tax_identification_number`,
|
|
6078
6186
|
* `email or phone`). For `DRAFT` it is the draft's actual leftovers; for `NEEDS_COMPLETION`
|
|
6079
6187
|
* it is what the card create refuses the row over; for `CAN_CREATE` it
|
|
6080
6188
|
* is a projection that assumes the KYC dossier covers what it usually covers — the created
|
|
6081
|
-
* draft's `missing_kyc_fields` is the authoritative version.
|
|
6082
|
-
* contacts, so a `CAN_CREATE` member without a valid `email` or `phone`
|
|
6083
|
-
* always gets that field listed: send it in the create body.
|
|
6189
|
+
* draft's `missing_kyc_fields` is the authoritative version. Outside the KYC forms flow the
|
|
6190
|
+
* dossier never carries contacts, so a `CAN_CREATE` member without a valid `email` or `phone`
|
|
6191
|
+
* on their profile always gets that field listed: send it in the create body.
|
|
6084
6192
|
*
|
|
6085
6193
|
* **Authentication**: Bearer token with x-tenant-id header; wallet ADMIN role required.
|
|
6086
6194
|
*
|
|
@@ -6124,7 +6232,7 @@ export interface paths {
|
|
|
6124
6232
|
/** Format: uuid */
|
|
6125
6233
|
user_data_id: string;
|
|
6126
6234
|
/** @enum {string} */
|
|
6127
|
-
verdict: "READY" | "DRAFT" | "CAN_CREATE" | "PENDING" | "NEEDS_VERIFICATION" | "NEEDS_VERIFICATION_UPGRADE" | "NEEDS_COMPLETION" | "NEEDS_RESUBMIT" | "ISSUER_REVIEW_PENDING" | "REJECTED" | "NOT_MEMBER";
|
|
6235
|
+
verdict: "READY" | "DRAFT" | "CAN_CREATE" | "PENDING" | "NEEDS_VERIFICATION" | "NEEDS_VERIFICATION_UPGRADE" | "NEEDS_COMPLETION" | "NEEDS_CARD_FORM" | "NEEDS_RESUBMIT" | "ISSUER_REVIEW_PENDING" | "REJECTED" | "NOT_MEMBER";
|
|
6128
6236
|
/**
|
|
6129
6237
|
* Format: uuid
|
|
6130
6238
|
* @description The linked cardholder for READY / DRAFT / NEEDS_COMPLETION / NEEDS_RESUBMIT / ISSUER_REVIEW_PENDING verdicts
|
|
@@ -6151,34 +6259,51 @@ export interface paths {
|
|
|
6151
6259
|
};
|
|
6152
6260
|
};
|
|
6153
6261
|
};
|
|
6154
|
-
/** @description
|
|
6262
|
+
/** @description `INVALID_REQUEST` — missing program, empty/oversized/malformed id list, or the program is not available for the caller's user group — the same "This program is not available for your user group" failure cardholder creation gives.
|
|
6155
6263
|
* */
|
|
6156
6264
|
400: {
|
|
6157
6265
|
headers: {
|
|
6158
6266
|
[name: string]: unknown;
|
|
6159
6267
|
};
|
|
6160
|
-
content
|
|
6268
|
+
content: {
|
|
6269
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6270
|
+
};
|
|
6271
|
+
};
|
|
6272
|
+
/** @description `UNAUTHORIZED` — missing or invalid Bearer token, `x-tenant-id` or session */
|
|
6273
|
+
401: {
|
|
6274
|
+
headers: {
|
|
6275
|
+
[name: string]: unknown;
|
|
6276
|
+
};
|
|
6277
|
+
content: {
|
|
6278
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6279
|
+
};
|
|
6161
6280
|
};
|
|
6162
6281
|
/** @description Access denied to this wallet */
|
|
6163
6282
|
403: {
|
|
6164
6283
|
headers: {
|
|
6165
6284
|
[name: string]: unknown;
|
|
6166
6285
|
};
|
|
6167
|
-
content
|
|
6286
|
+
content: {
|
|
6287
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6288
|
+
};
|
|
6168
6289
|
};
|
|
6169
6290
|
/** @description Issuing program not found */
|
|
6170
6291
|
404: {
|
|
6171
6292
|
headers: {
|
|
6172
6293
|
[name: string]: unknown;
|
|
6173
6294
|
};
|
|
6174
|
-
content
|
|
6295
|
+
content: {
|
|
6296
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6297
|
+
};
|
|
6175
6298
|
};
|
|
6176
6299
|
/** @description Server error */
|
|
6177
6300
|
500: {
|
|
6178
6301
|
headers: {
|
|
6179
6302
|
[name: string]: unknown;
|
|
6180
6303
|
};
|
|
6181
|
-
content
|
|
6304
|
+
content: {
|
|
6305
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
6306
|
+
};
|
|
6182
6307
|
};
|
|
6183
6308
|
};
|
|
6184
6309
|
};
|
|
@@ -10632,7 +10757,14 @@ export interface paths {
|
|
|
10632
10757
|
headers: {
|
|
10633
10758
|
[name: string]: unknown;
|
|
10634
10759
|
};
|
|
10635
|
-
content
|
|
10760
|
+
content: {
|
|
10761
|
+
"application/json": {
|
|
10762
|
+
/** @example true */
|
|
10763
|
+
success: boolean;
|
|
10764
|
+
data: components["schemas"]["ReferenceCurrency"][];
|
|
10765
|
+
pagination: components["schemas"]["PaginationResponse"];
|
|
10766
|
+
};
|
|
10767
|
+
};
|
|
10636
10768
|
};
|
|
10637
10769
|
401: components["responses"]["UnauthorizedError"];
|
|
10638
10770
|
};
|
|
@@ -11986,6 +12118,8 @@ export interface paths {
|
|
|
11986
12118
|
/**
|
|
11987
12119
|
* Get a compliance request with its conversation and covered transactions
|
|
11988
12120
|
* @description The conversation holds compliance's questions and the client's answers, oldest first.
|
|
12121
|
+
* The `body` of a compliance message is safe inline HTML, so a link can be a hyperlink; the
|
|
12122
|
+
* `body` of the client's own answer is plain text. `author` tells them apart.
|
|
11989
12123
|
* A request of another account answers 404, and so does every request of a workspace
|
|
11990
12124
|
* that still works RFI by email. Works at any KYC status of the account.
|
|
11991
12125
|
*
|
|
@@ -12101,7 +12235,7 @@ export interface paths {
|
|
|
12101
12235
|
};
|
|
12102
12236
|
};
|
|
12103
12237
|
responses: {
|
|
12104
|
-
/** @description The message as stored */
|
|
12238
|
+
/** @description The message as stored. It is the client's own answer, so `body` is the text as sent, not HTML. */
|
|
12105
12239
|
201: {
|
|
12106
12240
|
headers: {
|
|
12107
12241
|
[name: string]: unknown;
|
|
@@ -13098,8 +13232,11 @@ export interface paths {
|
|
|
13098
13232
|
*
|
|
13099
13233
|
* The selection cannot outlive the access it rides on: the flag sits on
|
|
13100
13234
|
* the membership row, so revoking membership drops it. A deleted wallet,
|
|
13101
|
-
* a deactivated membership or a wallet
|
|
13102
|
-
*
|
|
13235
|
+
* a deactivated membership or a wallet closed for its members falls back
|
|
13236
|
+
* to the default. A shared wallet is closed when its owner deleted their
|
|
13237
|
+
* account or, on a KYC-enabled tenant, when its KYC status is `OFFBOARDED`.
|
|
13238
|
+
* Any other KYC status can be the active wallet: read it from `kyc_info.status`,
|
|
13239
|
+
* the KYC-gated endpoints answer `403 KYC_REQUIREMENTS_NOT_MET` until it opens.
|
|
13103
13240
|
*
|
|
13104
13241
|
* **Authentication**: Bearer token with x-tenant-id header required
|
|
13105
13242
|
*
|
|
@@ -13143,7 +13280,8 @@ export interface paths {
|
|
|
13143
13280
|
* Any wallet the caller is an **active member** of may be selected —
|
|
13144
13281
|
* ownership is not required. A wallet whose owner has deleted their
|
|
13145
13282
|
* account cannot be selected: the request answers `403`, the same as
|
|
13146
|
-
* every other endpoint of that wallet.
|
|
13283
|
+
* every other endpoint of that wallet. On a KYC-enabled tenant a member
|
|
13284
|
+
* cannot select a wallet whose KYC status is `OFFBOARDED` either: `403`.
|
|
13147
13285
|
*
|
|
13148
13286
|
* **Authentication**: Bearer token with x-tenant-id header required
|
|
13149
13287
|
*
|
|
@@ -13195,8 +13333,9 @@ export interface paths {
|
|
|
13195
13333
|
};
|
|
13196
13334
|
401: components["responses"]["UnauthorizedError"];
|
|
13197
13335
|
/** @description `ACCESS_DENIED` (`You do not have access to this wallet`) — the caller is not an active
|
|
13198
|
-
* member of the wallet, or the wallet is closed
|
|
13199
|
-
*
|
|
13336
|
+
* member of the wallet, or the wallet is closed for its members: its owner deleted their account
|
|
13337
|
+
* or, on a KYC-enabled tenant, its KYC status is `OFFBOARDED` (the owner can still select it).
|
|
13338
|
+
* The answer is the same in every case and does not reveal why. The stored selection is not changed.
|
|
13200
13339
|
* */
|
|
13201
13340
|
403: {
|
|
13202
13341
|
headers: {
|
|
@@ -13517,6 +13656,10 @@ export interface paths {
|
|
|
13517
13656
|
*
|
|
13518
13657
|
* A wallet whose owner has deleted their account is closed for every member and is not listed.
|
|
13519
13658
|
*
|
|
13659
|
+
* On a KYC-enabled tenant a shared wallet is listed whatever its KYC status, except `OFFBOARDED`:
|
|
13660
|
+
* that wallet is closed for its members and is listed only for its owner. Read the status from
|
|
13661
|
+
* `kyc_info.status`; the KYC-gated endpoints answer `403 KYC_REQUIREMENTS_NOT_MET` until it opens.
|
|
13662
|
+
*
|
|
13520
13663
|
* **Authentication**: Bearer token with x-tenant-id header required
|
|
13521
13664
|
*
|
|
13522
13665
|
*/
|
|
@@ -13992,12 +14135,17 @@ export interface paths {
|
|
|
13992
14135
|
};
|
|
13993
14136
|
};
|
|
13994
14137
|
};
|
|
13995
|
-
/** @description Access denied to this wallet
|
|
14138
|
+
/** @description `ACCESS_DENIED` (`Access denied to this wallet`) — the caller is not an active member of the wallet.
|
|
14139
|
+
* On a KYC-enabled tenant the same answer is given to a member (not the owner) of a wallet whose KYC
|
|
14140
|
+
* status is `OFFBOARDED`; it does not reveal why. The owner is not refused by this check.
|
|
14141
|
+
* */
|
|
13996
14142
|
403: {
|
|
13997
14143
|
headers: {
|
|
13998
14144
|
[name: string]: unknown;
|
|
13999
14145
|
};
|
|
14000
|
-
content
|
|
14146
|
+
content: {
|
|
14147
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14148
|
+
};
|
|
14001
14149
|
};
|
|
14002
14150
|
/** @description Wallet not found */
|
|
14003
14151
|
404: {
|
|
@@ -15146,12 +15294,17 @@ export interface paths {
|
|
|
15146
15294
|
};
|
|
15147
15295
|
};
|
|
15148
15296
|
};
|
|
15149
|
-
/** @description Access denied to this wallet
|
|
15297
|
+
/** @description `ACCESS_DENIED` (`Access denied to this wallet`) — the caller is not an active member of the wallet, or the caller is a scoped `user` member (this endpoint is closed to that role).
|
|
15298
|
+
* On a KYC-enabled tenant the same answer is given to a member (not the owner) of a wallet whose KYC
|
|
15299
|
+
* status is `OFFBOARDED`; it does not reveal why. The owner is not refused by this check.
|
|
15300
|
+
* */
|
|
15150
15301
|
403: {
|
|
15151
15302
|
headers: {
|
|
15152
15303
|
[name: string]: unknown;
|
|
15153
15304
|
};
|
|
15154
|
-
content
|
|
15305
|
+
content: {
|
|
15306
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15307
|
+
};
|
|
15155
15308
|
};
|
|
15156
15309
|
/** @description Wallet not found */
|
|
15157
15310
|
404: {
|
|
@@ -16655,7 +16808,7 @@ export interface paths {
|
|
|
16655
16808
|
get?: never;
|
|
16656
16809
|
/**
|
|
16657
16810
|
* Save the draft of a form
|
|
16658
|
-
* @description The form is the one `rails` and `programs` name, as for `GET …/forms`. Replaces the draft as a whole with the given values of open fields; the files of the draft stay, and so do those of a `returned` last submission (they carry over into the draft, those removed excepted). Types are checked, rules and requiredness are not — except that owner shares over 100% in total, a value whose condition reads an empty required source, and a change to a saved owner the form does not allow (left out of the list, its value cleared, or changed outside a `returned` form) are refused here too, as on the submission: the draft is not saved. Nothing is written to the KYC entity. The first draft of a business form moves the application to `PENDING`. The entity's owner, or an owner or admin of a linked wallet.
|
|
16811
|
+
* @description The form is the one `rails` and `programs` name, as for `GET …/forms`. Replaces the draft as a whole with the given values of open fields; the files of the draft stay, and so do those of a `returned` last submission (they carry over into the draft, those removed excepted). Types are checked, rules and requiredness are not — except that owner shares over 100% in total, a value whose condition reads an empty required source, and a change to a saved owner the form does not allow (left out of the list, its value cleared, or changed outside a `returned` form) are refused here too, as on the submission: the draft is not saved. Nothing is written to the KYC entity. The first draft of a business form moves the application to `PENDING`. One change to a form at a time — a draft save, an upload, a removal or the submission: another one sent meanwhile, from any tab or member, answers `409 OPERATION_IN_PROGRESS` and changes nothing; send the changes of one form one after another. The entity's owner, or an owner or admin of a linked wallet.
|
|
16659
16812
|
*/
|
|
16660
16813
|
put: {
|
|
16661
16814
|
parameters: {
|
|
@@ -16706,7 +16859,7 @@ export interface paths {
|
|
|
16706
16859
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
16707
16860
|
};
|
|
16708
16861
|
};
|
|
16709
|
-
/** @description `FORM_LOCKED` — the form is read-only by the application status, or its last submission waits on the verification or the review; `FORM_OUTDATED` — `schema_version` is not the one the form has now, reload it (`GET …/forms`) and send again; `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle */
|
|
16862
|
+
/** @description `FORM_LOCKED` — the form is read-only by the application status, or its last submission waits on the verification or the review; `FORM_OUTDATED` — `schema_version` is not the one the form has now, reload it (`GET …/forms`) and send again; `OPERATION_IN_PROGRESS` — another change to this form (a draft save, an upload, a removal, the submission) is running: nothing was changed, try again once it answers; `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle */
|
|
16710
16863
|
409: {
|
|
16711
16864
|
headers: {
|
|
16712
16865
|
[name: string]: unknown;
|
|
@@ -16715,6 +16868,7 @@ export interface paths {
|
|
|
16715
16868
|
"application/json": components["schemas"]["KycFormsErrorResponse"];
|
|
16716
16869
|
};
|
|
16717
16870
|
};
|
|
16871
|
+
503: components["responses"]["KycFormsLockUnavailable"];
|
|
16718
16872
|
};
|
|
16719
16873
|
};
|
|
16720
16874
|
post?: never;
|
|
@@ -16735,7 +16889,7 @@ export interface paths {
|
|
|
16735
16889
|
put?: never;
|
|
16736
16890
|
/**
|
|
16737
16891
|
* Upload a file into a file field of a form
|
|
16738
|
-
* @description The form is the one `rails` and `programs` name. Multipart: `field` (the key of an open file field: shown, not locked) and `file`. PDF, JPEG or PNG up to 20 MB, told by the bytes — a renamed file is refused with `DOCUMENT_REJECTED`; a field whose `file.accept` lists only images (the photos of the identity document, `gov_id_front` / `gov_id_back`) refuses a PDF the same way. A field that takes no files now — unknown, not a file field, locked (a form read-only by the application status locks every field), or hidden by its condition — is refused with `FORM_FIELD_NOT_ALLOWED`, whatever the file. The file stays in the draft until the submission is applied; a file of a field hidden by its condition stays in the draft's storage (removable by its `id`), is not listed in the form's `values` while hidden, and does not go with the submission. The photos of the identity document go to the identity provider once the submission waits on the verification. On a form whose last submission is `returned` the files of that submission count toward `file.max_files` of the field and carry over into the draft with the new file. The entity's owner, or an owner or admin of a linked wallet.
|
|
16892
|
+
* @description The form is the one `rails` and `programs` name. Multipart: `field` (the key of an open file field: shown, not locked) and `file`. PDF, JPEG or PNG up to 20 MB, told by the bytes — a renamed file is refused with `DOCUMENT_REJECTED`; a field whose `file.accept` lists only images (the photos of the identity document, `gov_id_front` / `gov_id_back`) refuses a PDF the same way. A field that takes no files now — unknown, not a file field, locked (a form read-only by the application status locks every field), or hidden by its condition — is refused with `FORM_FIELD_NOT_ALLOWED`, whatever the file. The file stays in the draft until the submission is applied; a file of a field hidden by its condition stays in the draft's storage (removable by its `id`), is not listed in the form's `values` while hidden, and does not go with the submission. The photos of the identity document go to the identity provider once the submission waits on the verification. On a form whose last submission is `returned` the files of that submission count toward `file.max_files` of the field and carry over into the draft with the new file. One change to a form at a time: an upload sent while another change to the form runs answers `409 OPERATION_IN_PROGRESS` and stores nothing — upload the files of one form one after another. The entity's owner, or an owner or admin of a linked wallet.
|
|
16739
16893
|
*/
|
|
16740
16894
|
post: {
|
|
16741
16895
|
parameters: {
|
|
@@ -16805,7 +16959,7 @@ export interface paths {
|
|
|
16805
16959
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
16806
16960
|
};
|
|
16807
16961
|
};
|
|
16808
|
-
/** @description `FORM_LOCKED` — the last submission of the form waits on the verification or the review (a form read-only by the application status answers `400 FORM_FIELD_NOT_ALLOWED` instead); `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle. */
|
|
16962
|
+
/** @description `FORM_LOCKED` — the last submission of the form waits on the verification or the review (a form read-only by the application status answers `400 FORM_FIELD_NOT_ALLOWED` instead); `OPERATION_IN_PROGRESS` — another change to this form (a draft save, an upload, a removal, the submission) is running: nothing was changed, try again once it answers; `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle. */
|
|
16809
16963
|
409: {
|
|
16810
16964
|
headers: {
|
|
16811
16965
|
[name: string]: unknown;
|
|
@@ -16814,7 +16968,7 @@ export interface paths {
|
|
|
16814
16968
|
"application/json": components["schemas"]["KycFormsErrorResponse"];
|
|
16815
16969
|
};
|
|
16816
16970
|
};
|
|
16817
|
-
/** @description
|
|
16971
|
+
/** @description `SERVICE_UNAVAILABLE` — file storage is not configured on this server, or the locking service is unavailable */
|
|
16818
16972
|
503: {
|
|
16819
16973
|
headers: {
|
|
16820
16974
|
[name: string]: unknown;
|
|
@@ -16843,7 +16997,7 @@ export interface paths {
|
|
|
16843
16997
|
post?: never;
|
|
16844
16998
|
/**
|
|
16845
16999
|
* Remove a file from the draft of a form
|
|
16846
|
-
* @description The form is the one `rails` and `programs` name. Only a file of the draft (`saved: false`) can be removed — a file of a returned submission is one too: the submission opens as the draft without it, its own record keeps the file; a document already in the KYC entity never is. The entity's owner, or an owner or admin of a linked wallet.
|
|
17000
|
+
* @description The form is the one `rails` and `programs` name. Only a file of the draft (`saved: false`) can be removed — a file of a returned submission is one too: the submission opens as the draft without it, its own record keeps the file; a document already in the KYC entity never is. One change to a form at a time: a removal sent while another change to the form runs (a draft save, an upload, another removal, the submission) answers `409 OPERATION_IN_PROGRESS` and removes nothing — remove the files of one form one after another. The entity's owner, or an owner or admin of a linked wallet.
|
|
16847
17001
|
*/
|
|
16848
17002
|
delete: {
|
|
16849
17003
|
parameters: {
|
|
@@ -16902,7 +17056,16 @@ export interface paths {
|
|
|
16902
17056
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
16903
17057
|
};
|
|
16904
17058
|
};
|
|
16905
|
-
|
|
17059
|
+
/** @description `OPERATION_IN_PROGRESS` — another change to this form (a draft save, an upload, a removal, the submission) is running: nothing was changed, try again once it answers; `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle */
|
|
17060
|
+
409: {
|
|
17061
|
+
headers: {
|
|
17062
|
+
[name: string]: unknown;
|
|
17063
|
+
};
|
|
17064
|
+
content: {
|
|
17065
|
+
"application/json": components["schemas"]["KycFormsErrorResponse"];
|
|
17066
|
+
};
|
|
17067
|
+
};
|
|
17068
|
+
503: components["responses"]["KycFormsLockUnavailable"];
|
|
16906
17069
|
};
|
|
16907
17070
|
};
|
|
16908
17071
|
options?: never;
|
|
@@ -16921,7 +17084,7 @@ export interface paths {
|
|
|
16921
17084
|
put?: never;
|
|
16922
17085
|
/**
|
|
16923
17086
|
* Send a form
|
|
16924
|
-
* @description The form is the one `rails` and `programs` name. The full check of every open field (all errors in one `VALIDATION_ERROR`), then a submission: `awaiting_verification` when the identity document and face are still needed, `applied` when every profile of the form writes the answers into the KYC entity at once, `in_review` when compliance decides (any profile of the form in review mode). Answers `200` with the form in its new state. One
|
|
17087
|
+
* @description The form is the one `rails` and `programs` name. The full check of every open field (all errors in one `VALIDATION_ERROR`), then a submission: `awaiting_verification` when the identity document and face are still needed, `applied` when every profile of the form writes the answers into the KYC entity at once, `in_review` when compliance decides (any profile of the form in review mode). Answers `200` with the form in its new state. One change to a form at a time: a submission sent while a draft save, an upload, a removal or another submission of the form runs answers `409 OPERATION_IN_PROGRESS` and changes nothing; send it again once the others answer. A rail form does not change the application status; once its submission is approved, the rail is submitted through the wallet's existing `POST /frontend/wallets/{wallet_id}/kyc-rails/{rail_id}`. A card form is `auto` unless a profile of it says otherwise and never changes the application status; once applied, the cardholder is created through `POST /frontend/issuing/cardholders` with `user_data_id`. A multi form moves the application like the base form it includes; once applied, every rail and program of the set is satisfied from the shared data. A `returned` submission sent again keeps its files that were not removed. A saved beneficial owner (an item of `beneficial_owners` with an `id`) is the entity's: a list without one, a changed saved value outside a `returned` form, and a saved value sent empty are refused with `VALIDATION_ERROR`, as in the draft. The entity's owner, or an owner or admin of a linked wallet.
|
|
16925
17088
|
*/
|
|
16926
17089
|
post: {
|
|
16927
17090
|
parameters: {
|
|
@@ -16972,7 +17135,7 @@ export interface paths {
|
|
|
16972
17135
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
16973
17136
|
};
|
|
16974
17137
|
};
|
|
16975
|
-
/** @description `FORM_LOCKED` — the form is read-only by the application status, or its last submission waits on the verification or the review; `FORM_OUTDATED` — `schema_version` is not the one the form has now, reload it (`GET …/forms`) and send again; `OPERATION_IN_PROGRESS` — a submission of this form is
|
|
17138
|
+
/** @description `FORM_LOCKED` — the form is read-only by the application status, or its last submission waits on the verification or the review; `FORM_OUTDATED` — `schema_version` is not the one the form has now, reload it (`GET …/forms`) and send again; `OPERATION_IN_PROGRESS` — a submission of this form, or another change to it (a draft save, an upload, a removal), is running; `KYC_FORM_CONDITIONS_CYCLE` — the tenant's form settings show fields on conditions that read each other in a circle */
|
|
16976
17139
|
409: {
|
|
16977
17140
|
headers: {
|
|
16978
17141
|
[name: string]: unknown;
|
|
@@ -17517,7 +17680,7 @@ export interface components {
|
|
|
17517
17680
|
* @example EXCHANGE_OMNI
|
|
17518
17681
|
* @enum {string}
|
|
17519
17682
|
*/
|
|
17520
|
-
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_FEDNOW_ONRAMP" | "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" | "REFERRAL_PAYOUT";
|
|
17683
|
+
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_FEDNOW_ONRAMP" | "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" | "BC3_SWIFT_ONRAMP" | "BC3_SWIFT_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" | "REFERRAL_PAYOUT";
|
|
17521
17684
|
OrderCalculation: {
|
|
17522
17685
|
/**
|
|
17523
17686
|
* Format: uuid
|
|
@@ -18543,6 +18706,39 @@ export interface components {
|
|
|
18543
18706
|
/** @description Whether the tenant's AML provider can screen addresses on this network (chains list only) */
|
|
18544
18707
|
aml_supported?: boolean;
|
|
18545
18708
|
};
|
|
18709
|
+
/** @description A currency on `GET /frontend/reference/currencies`. */
|
|
18710
|
+
ReferenceCurrency: {
|
|
18711
|
+
/**
|
|
18712
|
+
* Format: uuid
|
|
18713
|
+
* @description The `currency_id` other endpoints take
|
|
18714
|
+
*/
|
|
18715
|
+
uuid: string;
|
|
18716
|
+
/** @example Tether USD */
|
|
18717
|
+
name: string;
|
|
18718
|
+
/** @example USDT */
|
|
18719
|
+
symbol: string;
|
|
18720
|
+
icon?: string | null;
|
|
18721
|
+
/** @enum {string|null} */
|
|
18722
|
+
type?: "token" | "native" | "fiat" | null;
|
|
18723
|
+
is_crypto: boolean;
|
|
18724
|
+
is_stablecoin?: boolean;
|
|
18725
|
+
is_memo?: boolean | null;
|
|
18726
|
+
/** @example 6 */
|
|
18727
|
+
decimal: number;
|
|
18728
|
+
/** @example 2 */
|
|
18729
|
+
render_decimal: number;
|
|
18730
|
+
/** @description Raw reference data, not a stable contract */
|
|
18731
|
+
meta?: {
|
|
18732
|
+
[key: string]: unknown;
|
|
18733
|
+
} | null;
|
|
18734
|
+
enabled: boolean;
|
|
18735
|
+
/** @description The network of the token; null for a fiat currency */
|
|
18736
|
+
chain?: components["schemas"]["ReferenceChain"] | null;
|
|
18737
|
+
/** @description Whether the currency is enabled for the tenant of the session */
|
|
18738
|
+
is_tenant_enabled: boolean;
|
|
18739
|
+
/** @description Whether an address on this token's network can be screened (`POST /frontend/aml/{wallet_id}/screenings`); always false while AML screening is off for the tenant */
|
|
18740
|
+
aml_supported: boolean;
|
|
18741
|
+
};
|
|
18546
18742
|
/** @description Blockchain network as stored in the `chain` reference table. Embedded whole into every item of `GET /frontend/wallets/{wallet_id}/addresses`; `GET /frontend/reference/chains` returns the `ReferenceChain` subset of the same rows. Rely on `id` / `name` / `symbol` / `enabled` / `display_name` — the rest is the raw reference row and is not a stable contract. `name` and `symbol` are keys: match on them, show `display_name`. */
|
|
18547
18743
|
Chain: {
|
|
18548
18744
|
/**
|
|
@@ -19043,6 +19239,8 @@ export interface components {
|
|
|
19043
19239
|
to_address?: string | null;
|
|
19044
19240
|
/** @description Destination crypto address (crypto transfers) */
|
|
19045
19241
|
to_crypto_address?: string | null;
|
|
19242
|
+
/** @description The screened address (`AML_CHECK` orders only) */
|
|
19243
|
+
screened_address?: string | null;
|
|
19046
19244
|
/** @description Blockchain transaction id (when settled on-chain) */
|
|
19047
19245
|
txid?: string | null;
|
|
19048
19246
|
/** @description Blockchain transaction hash (when settled on-chain) */
|
|
@@ -19490,7 +19688,7 @@ export interface components {
|
|
|
19490
19688
|
*/
|
|
19491
19689
|
type: "individual" | "business" | "universal";
|
|
19492
19690
|
/**
|
|
19493
|
-
* @description KYC verification status. A refusal is one of three values: `DECLINED`, `REJECT` or `SOFT_REJECT`. Only `APPROVED` (full access) and `HOLD` (read-only) open the wallet. `OFFBOARDED` — final: the work with this company or person is over; `EXPIRED` — no activity on the application for over three months; a check passed on it brings it back.
|
|
19691
|
+
* @description KYC verification status. A refusal is one of three values: `DECLINED`, `REJECT` or `SOFT_REJECT`. Only `APPROVED` (full access) and `HOLD` (read-only) open the wallet's data endpoints; any other status except `OFFBOARDED` stays listed for members. `OFFBOARDED` — final: the work with this company or person is over, and the wallet is closed for its members: every wallet endpoint answers them `403 ACCESS_DENIED` (its owner still sees it); `EXPIRED` — no activity on the application for over three months; a check passed on it brings it back.
|
|
19494
19692
|
* @enum {string}
|
|
19495
19693
|
*/
|
|
19496
19694
|
status: "APPROVED" | "DECLINED" | "PENDING" | "PROCESSING" | "HOLD" | "NEEDS_ATTENTION" | "DOUBLE" | "SOFT_REJECT" | "REJECT" | "UNVERIFIED" | "WAITING_ON_UBOS" | "WAITING_ON_REVIEW" | "EXPIRED" | "OFFBOARDED";
|
|
@@ -19686,6 +19884,8 @@ export interface components {
|
|
|
19686
19884
|
exchange_rate?: number;
|
|
19687
19885
|
from_address?: string;
|
|
19688
19886
|
to_address?: string;
|
|
19887
|
+
/** @description The screened address of an AML check, on its `FEE` row next to `meta_type: AML_CHECK`. The `REFUND` row of that fee does not carry it: follow `order_uuid` to the `AML_CHECK` order. */
|
|
19888
|
+
screened_address?: string;
|
|
19689
19889
|
/** Format: uuid */
|
|
19690
19890
|
from_user_data?: string;
|
|
19691
19891
|
/** Format: uuid */
|
|
@@ -19702,6 +19902,13 @@ export interface components {
|
|
|
19702
19902
|
direction?: "in" | "out";
|
|
19703
19903
|
/** Format: uuid */
|
|
19704
19904
|
order_id?: string;
|
|
19905
|
+
/**
|
|
19906
|
+
* Format: uuid
|
|
19907
|
+
* @description The order this row belongs to. On the `REFUND` row of an AML check it leads to the `AML_CHECK` order.
|
|
19908
|
+
*/
|
|
19909
|
+
order_uuid?: string;
|
|
19910
|
+
/** @description What the row pays for, when the order type sets it: `AML_CHECK` on the `FEE` row of an AML check. The `REFUND` row of that fee does not carry it. */
|
|
19911
|
+
meta_type?: string;
|
|
19705
19912
|
} & {
|
|
19706
19913
|
[key: string]: unknown;
|
|
19707
19914
|
};
|
|
@@ -20476,7 +20683,7 @@ export interface components {
|
|
|
20476
20683
|
last_message: {
|
|
20477
20684
|
/** @enum {string} */
|
|
20478
20685
|
author: "compliance" | "client";
|
|
20479
|
-
/** @description One line of the message, up to 140 characters, cut at a word; null when the message has no text — an answer of files only */
|
|
20686
|
+
/** @description One line of the message as plain text (no markup; a link reads `label (url)`), up to 140 characters, cut at a word; null when the message has no text — an answer of files only */
|
|
20480
20687
|
preview: string | null;
|
|
20481
20688
|
/** Format: date-time */
|
|
20482
20689
|
created_at: string;
|
|
@@ -20506,7 +20713,7 @@ export interface components {
|
|
|
20506
20713
|
* @enum {string}
|
|
20507
20714
|
*/
|
|
20508
20715
|
author: "compliance" | "client";
|
|
20509
|
-
/** @description
|
|
20716
|
+
/** @description Depends on `author`. `compliance`: safe inline HTML, render it as HTML with `white-space: pre-wrap` (line breaks stay `\n`). A message published in the app may use only `b`, `strong`, `i`, `em`, `u`, `s`, `strike`, `del`, `code` and `a` with an `http(s)` or `mailto` `href`; any other compliance message (sent by email before the workspace moved to the app, or not valid HTML) comes as its text with `<`, `>`, `&`, `"` and `'` escaped, so it renders as the same text. `client`: the text as the client sent it, render it as text and never as HTML; an empty string when the client answered with files only — show the attachments alone. */
|
|
20510
20717
|
body: string;
|
|
20511
20718
|
attachments: components["schemas"]["RfiAttachment"][];
|
|
20512
20719
|
/** Format: date-time */
|
|
@@ -20734,7 +20941,7 @@ export interface components {
|
|
|
20734
20941
|
} & {
|
|
20735
20942
|
[key: string]: unknown;
|
|
20736
20943
|
};
|
|
20737
|
-
/** @description The value of one field in `values`, shaped by the field's `type`: `text`, `textarea`, `email`, `phone` (E.164), `date` (`YYYY-MM-DD`), `enum` (an `options[].value`), `country` (alpha-2) — a string; `number`, `integer` — a number; `bool
|
|
20944
|
+
/** @description The value of one field in `values`, shaped by the field's `type`: `text`, `textarea`, `email`, `phone` (E.164), `date` (`YYYY-MM-DD`), `enum` (an `options[].value`), `country` (alpha-2) — a string; `number`, `integer` — a number; `bool` — a boolean; `multi_enum`, `country_multi` — an array of strings; `file` — an array of `KycFormsFileValue`; `list` — an array of `KycFormsListItemValue`. Empty is null. */
|
|
20738
20945
|
KycFormsFieldValue: (string | number | boolean | string[] | components["schemas"]["KycFormsFileValue"][] | components["schemas"]["KycFormsListItemValue"][]) | null;
|
|
20739
20946
|
/** @description The value of one open field in the draft or the submission, shaped by the field's `type` as `KycFormsFieldValue` — except a `file` field, whose files travel through the uploads routes only (its key is refused with `FORM_FIELD_NOT_ALLOWED`). `null` clears the field. */
|
|
20740
20947
|
KycFormsAnswerValue: (string | number | boolean | string[] | components["schemas"]["KycFormsListItemValue"][]) | null;
|
|
@@ -20745,10 +20952,10 @@ export interface components {
|
|
|
20745
20952
|
*/
|
|
20746
20953
|
key: string;
|
|
20747
20954
|
/**
|
|
20748
|
-
* @description The control, and the shape of the value in `values` and in the draft: `text`, `textarea`, `email` — string; `phone` — E.164 string; `number`, `integer` — number; `date` — `YYYY-MM-DD`; `bool` — boolean; `
|
|
20955
|
+
* @description The control, and the shape of the value in `values` and in the draft: `text`, `textarea`, `email` — string; `phone` — E.164 string; `number`, `integer` — number; `date` — `YYYY-MM-DD`; `bool` — boolean; `enum` — one `options[].value`; `multi_enum` — an array of them; `country` — alpha-2; `country_multi` — an array of alpha-2; `file` — files travel through the uploads routes, `values` lists them as `KycFormsFileValue`; `list` — an array of items, each an object keyed by `item.fields[].key` (plus `id` for a saved row).
|
|
20749
20956
|
* @enum {string}
|
|
20750
20957
|
*/
|
|
20751
|
-
type: "text" | "textarea" | "number" | "integer" | "date" | "bool" | "
|
|
20958
|
+
type: "text" | "textarea" | "number" | "integer" | "date" | "bool" | "enum" | "multi_enum" | "country" | "country_multi" | "email" | "phone" | "file" | "list";
|
|
20752
20959
|
label: string;
|
|
20753
20960
|
hint: string | null;
|
|
20754
20961
|
placeholder: string | null;
|
|
@@ -2905,7 +2905,7 @@ export interface components {
|
|
|
2905
2905
|
* @example EXCHANGE_OMNI
|
|
2906
2906
|
* @enum {string}
|
|
2907
2907
|
*/
|
|
2908
|
-
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_FEDNOW_ONRAMP" | "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" | "REFERRAL_PAYOUT";
|
|
2908
|
+
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_FEDNOW_ONRAMP" | "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" | "BC3_SWIFT_ONRAMP" | "BC3_SWIFT_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" | "REFERRAL_PAYOUT";
|
|
2909
2909
|
OrderCalculation: {
|
|
2910
2910
|
/**
|
|
2911
2911
|
* Format: uuid
|
|
@@ -9202,7 +9202,7 @@ export interface components {
|
|
|
9202
9202
|
* @example EXCHANGE_OMNI
|
|
9203
9203
|
* @enum {string}
|
|
9204
9204
|
*/
|
|
9205
|
-
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_FEDNOW_ONRAMP" | "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" | "REFERRAL_PAYOUT";
|
|
9205
|
+
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_FEDNOW_ONRAMP" | "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" | "BC3_SWIFT_ONRAMP" | "BC3_SWIFT_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" | "REFERRAL_PAYOUT";
|
|
9206
9206
|
OrderCalculation: {
|
|
9207
9207
|
/**
|
|
9208
9208
|
* Format: uuid
|
|
@@ -1811,6 +1811,7 @@ export interface components {
|
|
|
1811
1811
|
source_of_wealth_ubo?: string | null;
|
|
1812
1812
|
customer_acquisition_and_location?: string | null;
|
|
1813
1813
|
funds_senders_and_recipients?: string | null;
|
|
1814
|
+
who_pays_and_how?: string | null;
|
|
1814
1815
|
purposes?: string[] | null;
|
|
1815
1816
|
payment_flows?: string[] | null;
|
|
1816
1817
|
source_of_funds_list?: string[] | null;
|
|
@@ -2184,6 +2185,8 @@ export interface components {
|
|
|
2184
2185
|
auth_provider: "supabase" | "clerk";
|
|
2185
2186
|
/** @default false */
|
|
2186
2187
|
kyc_forms_enabled: boolean;
|
|
2188
|
+
/** @default false */
|
|
2189
|
+
enable_promo_codes: boolean;
|
|
2187
2190
|
base_currency: string;
|
|
2188
2191
|
mass_payouts: components["schemas"]["SystemMassPayoutsConfigDto"];
|
|
2189
2192
|
aml_check: components["schemas"]["SystemAmlCheckConfigDto"];
|
|
@@ -3738,6 +3741,13 @@ export interface operations {
|
|
|
3738
3741
|
"application/json": components["schemas"]["InitUserVerificationResponseDto"];
|
|
3739
3742
|
};
|
|
3740
3743
|
};
|
|
3744
|
+
/** @description The tenant runs the KYC forms flow: the user verifies through the KYC forms of CORE */
|
|
3745
|
+
400: {
|
|
3746
|
+
headers: {
|
|
3747
|
+
[name: string]: unknown;
|
|
3748
|
+
};
|
|
3749
|
+
content?: never;
|
|
3750
|
+
};
|
|
3741
3751
|
/** @description Unauthorized */
|
|
3742
3752
|
401: {
|
|
3743
3753
|
headers: {
|
|
@@ -3771,6 +3781,13 @@ export interface operations {
|
|
|
3771
3781
|
"application/json": components["schemas"]["ResumeUserVerificationResponseDto"];
|
|
3772
3782
|
};
|
|
3773
3783
|
};
|
|
3784
|
+
/** @description The tenant runs the KYC forms flow: the user verifies through the KYC forms of CORE */
|
|
3785
|
+
400: {
|
|
3786
|
+
headers: {
|
|
3787
|
+
[name: string]: unknown;
|
|
3788
|
+
};
|
|
3789
|
+
content?: never;
|
|
3790
|
+
};
|
|
3774
3791
|
/** @description Unauthorized */
|
|
3775
3792
|
401: {
|
|
3776
3793
|
headers: {
|
|
@@ -1378,6 +1378,25 @@ export declare namespace API {
|
|
|
1378
1378
|
* `cardholder_requirements.level` to name the bar ("requires FULL").
|
|
1379
1379
|
*/
|
|
1380
1380
|
| 'NEEDS_VERIFICATION_UPGRADE'
|
|
1381
|
+
/**
|
|
1382
|
+
* An ACTIVE cardholder is linked (`cardholder_id`), but it does not hold what the
|
|
1383
|
+
* program's ISSUANCE bar asks for — typically one written before that bar existed.
|
|
1384
|
+
* Creating a card now is refused with `400`; `will_require` names the same fields
|
|
1385
|
+
* that 400 would. Nothing is submitted again: `PATCH` the fields, and for the
|
|
1386
|
+
* document photos call `POST /cardholders` with the member's `user_data_id` — it
|
|
1387
|
+
* answers `409` with this `cardholder_id` after completing the row from the
|
|
1388
|
+
* member's KYC dossier. When the member has not passed that verification, run it first.
|
|
1389
|
+
*/
|
|
1390
|
+
| 'NEEDS_COMPLETION'
|
|
1391
|
+
/**
|
|
1392
|
+
* KYC forms flow only: required fields of the program's card form are still empty.
|
|
1393
|
+
* Only the member fills that form in their personal KYC entity; the create is refused
|
|
1394
|
+
* until they do (`400 CARD_REQUIREMENTS_INCOMPLETE`, or `400 KYC_PERSONAL_ENTITY_MISSING`
|
|
1395
|
+
* for a member with no personal entity), and fields in the request body do not help.
|
|
1396
|
+
* `will_require` names what the member has left: tell them to fill the card form, do
|
|
1397
|
+
* not ask the caller for these fields.
|
|
1398
|
+
*/
|
|
1399
|
+
| 'NEEDS_CARD_FORM'
|
|
1381
1400
|
/**
|
|
1382
1401
|
* A verification came back with a FINAL rejection — only support can
|
|
1383
1402
|
* reset it. Never render an actionable "verify now" for this state.
|
|
@@ -1390,6 +1409,16 @@ export declare namespace API {
|
|
|
1390
1409
|
* has, so a fresh cardholder is NOT the way to retry.
|
|
1391
1410
|
*/
|
|
1392
1411
|
| 'NEEDS_RESUBMIT'
|
|
1412
|
+
/**
|
|
1413
|
+
* The cardholder is submitted (`cardholder_id` is set) and the ISSUER is still
|
|
1414
|
+
* reviewing the person. Nothing is wrong and nothing can be done but wait:
|
|
1415
|
+
* re-submitting would only spend another review (the submit endpoint refuses it with
|
|
1416
|
+
* `409 CARDHOLDER_NOT_DRAFT`), and creating a card now is refused with
|
|
1417
|
+
* `400 INVALID_REQUEST`. Show the member as pending and poll. Only programs whose
|
|
1418
|
+
* vendor reviews the person before issuance ever return this; vendors that issue
|
|
1419
|
+
* inline go straight to READY.
|
|
1420
|
+
*/
|
|
1421
|
+
| 'ISSUER_REVIEW_PENDING'
|
|
1393
1422
|
/** Not an active member of this wallet. */
|
|
1394
1423
|
| 'NOT_MEMBER';
|
|
1395
1424
|
type Request = {
|
|
@@ -1401,7 +1430,7 @@ export declare namespace API {
|
|
|
1401
1430
|
type Item = {
|
|
1402
1431
|
user_data_id: string;
|
|
1403
1432
|
verdict: Verdict;
|
|
1404
|
-
/** The linked cardholder for READY/DRAFT
|
|
1433
|
+
/** The linked cardholder for READY / DRAFT / NEEDS_COMPLETION / NEEDS_RESUBMIT / ISSUER_REVIEW_PENDING verdicts. */
|
|
1405
1434
|
cardholder_id: string | null;
|
|
1406
1435
|
/** Fields to collect by hand (submit `missing` vocabulary). */
|
|
1407
1436
|
will_require: string[];
|
|
@@ -3276,6 +3305,8 @@ export declare namespace API {
|
|
|
3276
3305
|
interface OrderType {
|
|
3277
3306
|
order_type_id: string;
|
|
3278
3307
|
}
|
|
3308
|
+
type EmbeddedProgram = NonNullable<componentsV1Frontend['schemas']['VirtualAccount']['virtual_accounts_program']>;
|
|
3309
|
+
type EmbeddedDetailProgram = NonNullable<componentsV1Frontend['schemas']['VirtualAccountDetail']['virtual_accounts_program']>;
|
|
3279
3310
|
interface VirtualAccountListItem {
|
|
3280
3311
|
id: string;
|
|
3281
3312
|
created_at: string;
|
|
@@ -3289,7 +3320,7 @@ export declare namespace API {
|
|
|
3289
3320
|
destination_address: string;
|
|
3290
3321
|
integration_vendor_id: string;
|
|
3291
3322
|
vendor_account_id: string;
|
|
3292
|
-
virtual_accounts_program: API.VirtualAccounts.
|
|
3323
|
+
virtual_accounts_program: API.VirtualAccounts.VirtualAccount.EmbeddedProgram;
|
|
3293
3324
|
deposit_instructions?: API.VirtualAccounts.VirtualAccount.DepositInstruction.DepositInstruction[];
|
|
3294
3325
|
}
|
|
3295
3326
|
interface VirtualAccountDetailItem {
|
|
@@ -3311,7 +3342,7 @@ export declare namespace API {
|
|
|
3311
3342
|
total_balance: number;
|
|
3312
3343
|
va_programs_id: string;
|
|
3313
3344
|
vendor_account_id: string;
|
|
3314
|
-
virtual_accounts_program: API.VirtualAccounts.
|
|
3345
|
+
virtual_accounts_program: API.VirtualAccounts.VirtualAccount.EmbeddedDetailProgram;
|
|
3315
3346
|
wallet_id: string;
|
|
3316
3347
|
}
|
|
3317
3348
|
}
|