squarefi-bff-api-module 1.36.35 → 1.36.37
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/frontend.d.ts +1 -0
- package/dist/api/frontend.js +10 -4
- package/dist/api/types/autogen/apiV1External.types.d.ts +581 -28
- package/dist/api/types/autogen/apiV1Frontend.types.d.ts +1418 -476
- package/dist/api/types/autogen/apiV1Legacy.types.d.ts +17 -232
- package/dist/api/types/autogen/apiV1Tenant.types.d.ts +582 -23
- package/dist/api/types/autogen/apiV2.types.d.ts +64 -9
- package/dist/api/types/types.d.ts +6 -0
- package/package.json +1 -1
|
@@ -4735,6 +4735,79 @@ export interface paths {
|
|
|
4735
4735
|
patch?: never;
|
|
4736
4736
|
trace?: never;
|
|
4737
4737
|
};
|
|
4738
|
+
"/admin/virtual_accounts/{id}/confirmation-pdf": {
|
|
4739
|
+
parameters: {
|
|
4740
|
+
query?: never;
|
|
4741
|
+
header?: never;
|
|
4742
|
+
path?: never;
|
|
4743
|
+
cookie?: never;
|
|
4744
|
+
};
|
|
4745
|
+
/**
|
|
4746
|
+
* Download account confirmation (PDF)
|
|
4747
|
+
* @description Requisites-only PDF the account holder can share with a payer: the holder's registry details plus the funding instructions of the virtual account, grouped per payment rail (local, SEPA, SWIFT). Carries no balances and no transactions. Accounts whose KYC rail no longer accepts deposits are excluded.
|
|
4748
|
+
*
|
|
4749
|
+
*/
|
|
4750
|
+
get: {
|
|
4751
|
+
parameters: {
|
|
4752
|
+
query?: {
|
|
4753
|
+
/** @description Include every ACTIVE virtual account of the same wallet in one document. */
|
|
4754
|
+
all_accounts?: boolean;
|
|
4755
|
+
};
|
|
4756
|
+
header?: never;
|
|
4757
|
+
path: {
|
|
4758
|
+
/** @description Virtual Account ID */
|
|
4759
|
+
id: string;
|
|
4760
|
+
};
|
|
4761
|
+
cookie?: never;
|
|
4762
|
+
};
|
|
4763
|
+
requestBody?: never;
|
|
4764
|
+
responses: {
|
|
4765
|
+
/** @description PDF document */
|
|
4766
|
+
200: {
|
|
4767
|
+
headers: {
|
|
4768
|
+
[name: string]: unknown;
|
|
4769
|
+
};
|
|
4770
|
+
content: {
|
|
4771
|
+
"application/pdf": string;
|
|
4772
|
+
};
|
|
4773
|
+
};
|
|
4774
|
+
/** @description Virtual account not found (also returned when the id exists in another tenant — no info leak) */
|
|
4775
|
+
404: {
|
|
4776
|
+
headers: {
|
|
4777
|
+
[name: string]: unknown;
|
|
4778
|
+
};
|
|
4779
|
+
content: {
|
|
4780
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4781
|
+
};
|
|
4782
|
+
};
|
|
4783
|
+
/** @description No publishable deposit details for this account */
|
|
4784
|
+
409: {
|
|
4785
|
+
headers: {
|
|
4786
|
+
[name: string]: unknown;
|
|
4787
|
+
};
|
|
4788
|
+
content: {
|
|
4789
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4790
|
+
};
|
|
4791
|
+
};
|
|
4792
|
+
/** @description Internal server error */
|
|
4793
|
+
500: {
|
|
4794
|
+
headers: {
|
|
4795
|
+
[name: string]: unknown;
|
|
4796
|
+
};
|
|
4797
|
+
content: {
|
|
4798
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
4799
|
+
};
|
|
4800
|
+
};
|
|
4801
|
+
};
|
|
4802
|
+
};
|
|
4803
|
+
put?: never;
|
|
4804
|
+
post?: never;
|
|
4805
|
+
delete?: never;
|
|
4806
|
+
options?: never;
|
|
4807
|
+
head?: never;
|
|
4808
|
+
patch?: never;
|
|
4809
|
+
trace?: never;
|
|
4810
|
+
};
|
|
4738
4811
|
"/admin/virtual_accounts/{id}": {
|
|
4739
4812
|
parameters: {
|
|
4740
4813
|
query?: never;
|
|
@@ -4978,9 +5051,27 @@ export interface paths {
|
|
|
4978
5051
|
put?: never;
|
|
4979
5052
|
/**
|
|
4980
5053
|
* Create wallet
|
|
4981
|
-
* @description Creates a new wallet owned by
|
|
5054
|
+
* @description Creates a new wallet owned by an end user of the tenant.
|
|
4982
5055
|
* Wallet name is auto-generated if not provided.
|
|
4983
5056
|
*
|
|
5057
|
+
* The owner is named per request via `owner_user_data_id` or
|
|
5058
|
+
* `owner_email`. Keys issued before 2026-08-05 carry an owner themselves
|
|
5059
|
+
* (`tenant_api_keys.user_data_id`) and may omit both fields.
|
|
5060
|
+
*
|
|
5061
|
+
* Naming nobody is also valid: the wallet is then owned by the tenant's
|
|
5062
|
+
* own service owner, created on first use. That is the normal case for a
|
|
5063
|
+
* BaaS tenant whose end users never sign in and therefore do not exist as
|
|
5064
|
+
* people in this system. The response reports which happened via
|
|
5065
|
+
* `owner_user_data_id` and `owner_is_service`.
|
|
5066
|
+
*
|
|
5067
|
+
* Every wallet has an owner: ownership is the `owner` row in
|
|
5068
|
+
* `wallets_users` and every read path resolves it, so an ownerless wallet
|
|
5069
|
+
* would be unreachable through the API.
|
|
5070
|
+
*
|
|
5071
|
+
* A service owner is not a person — it must not be used as a KYC subject
|
|
5072
|
+
* or a cardholder. Name a real end user for wallets that will be verified
|
|
5073
|
+
* or will carry cards.
|
|
5074
|
+
*
|
|
4984
5075
|
* The wallet is always created without a KYC entity — create one via
|
|
4985
5076
|
* `POST /admin/kyc_entity` or start verification via
|
|
4986
5077
|
* `POST /admin/kyc_verification/{wallet_id}/init` afterwards.
|
|
@@ -5001,6 +5092,20 @@ export interface paths {
|
|
|
5001
5092
|
* @example My Trading Wallet
|
|
5002
5093
|
*/
|
|
5003
5094
|
name?: string;
|
|
5095
|
+
/**
|
|
5096
|
+
* Format: uuid
|
|
5097
|
+
* @description `user_data.uuid` of the end user who will own the wallet.
|
|
5098
|
+
* Takes precedence over `owner_email`.
|
|
5099
|
+
*
|
|
5100
|
+
*/
|
|
5101
|
+
owner_user_data_id?: string;
|
|
5102
|
+
/**
|
|
5103
|
+
* Format: email
|
|
5104
|
+
* @description Email of the owning end user, resolved within the tenant.
|
|
5105
|
+
* Rejected when several users share it.
|
|
5106
|
+
*
|
|
5107
|
+
*/
|
|
5108
|
+
owner_email?: string;
|
|
5004
5109
|
};
|
|
5005
5110
|
};
|
|
5006
5111
|
};
|
|
@@ -5024,19 +5129,36 @@ export interface paths {
|
|
|
5024
5129
|
created_at?: string;
|
|
5025
5130
|
/** Format: date-time */
|
|
5026
5131
|
updated_at?: string;
|
|
5132
|
+
/**
|
|
5133
|
+
* Format: uuid
|
|
5134
|
+
* @description End user the wallet is owned by.
|
|
5135
|
+
*/
|
|
5136
|
+
owner_user_data_id?: string;
|
|
5137
|
+
/** @description The owner is the tenant's service owner rather than a
|
|
5138
|
+
* person — either because the request named nobody, or
|
|
5139
|
+
* because it named the service owner explicitly.
|
|
5140
|
+
* */
|
|
5141
|
+
owner_is_service?: boolean;
|
|
5027
5142
|
};
|
|
5028
5143
|
/** @example Wallet created successfully */
|
|
5029
5144
|
message?: string;
|
|
5030
5145
|
};
|
|
5031
5146
|
};
|
|
5032
5147
|
};
|
|
5033
|
-
/** @description
|
|
5148
|
+
/** @description Several end users share the given owner_email */
|
|
5034
5149
|
400: {
|
|
5035
5150
|
headers: {
|
|
5036
5151
|
[name: string]: unknown;
|
|
5037
5152
|
};
|
|
5038
5153
|
content?: never;
|
|
5039
5154
|
};
|
|
5155
|
+
/** @description No end user in this tenant matches the named owner */
|
|
5156
|
+
404: {
|
|
5157
|
+
headers: {
|
|
5158
|
+
[name: string]: unknown;
|
|
5159
|
+
};
|
|
5160
|
+
content?: never;
|
|
5161
|
+
};
|
|
5040
5162
|
};
|
|
5041
5163
|
};
|
|
5042
5164
|
delete?: never;
|
|
@@ -5062,6 +5184,10 @@ export interface paths {
|
|
|
5062
5184
|
* Update wallet
|
|
5063
5185
|
* @description Update a wallet within your tenant. Currently supports updating the wallet name.
|
|
5064
5186
|
*
|
|
5187
|
+
* Developer API access (`api_access_enabled`, readable on
|
|
5188
|
+
* `GET /admin/wallets/{wallet_id}`) is a platform-level grant and is NOT
|
|
5189
|
+
* editable here — it is switched by SquareFi from the admin panel.
|
|
5190
|
+
*
|
|
5065
5191
|
*/
|
|
5066
5192
|
patch: {
|
|
5067
5193
|
parameters: {
|
|
@@ -5870,11 +5996,21 @@ export interface paths {
|
|
|
5870
5996
|
};
|
|
5871
5997
|
put?: never;
|
|
5872
5998
|
/**
|
|
5873
|
-
* Create cardholder
|
|
5874
|
-
* @description Creates a cardholder
|
|
5999
|
+
* Create cardholder draft
|
|
6000
|
+
* @description Creates a cardholder in `DRAFT` status — no vendor is contacted here.
|
|
5875
6001
|
* The `vendor_id` is resolved automatically from `issuing_program_id`.
|
|
5876
6002
|
* Uniqueness: email + wallet_id + issuing_program_id.
|
|
5877
6003
|
*
|
|
6004
|
+
* Upload the KYC files to `POST /admin/issuing/cardholders/{cardholder_id}/documents`,
|
|
6005
|
+
* then register the person with `POST /admin/issuing/cardholders/{cardholder_id}/submit`.
|
|
6006
|
+
* A draft cannot hold a card.
|
|
6007
|
+
*
|
|
6008
|
+
* **Two modes**:
|
|
6009
|
+
* - `user_data_id` mode: personal data + KYC documents are seeded from an existing
|
|
6010
|
+
* verified user (approved identity/face verification + Sumsub applicant required).
|
|
6011
|
+
* Manual fields only fill gaps; the Sumsub files are attached immediately.
|
|
6012
|
+
* - Manual mode: `first_name`, `last_name`, `email`, `phone` are required.
|
|
6013
|
+
*
|
|
5878
6014
|
*/
|
|
5879
6015
|
post: {
|
|
5880
6016
|
parameters: {
|
|
@@ -5889,47 +6025,81 @@ export interface paths {
|
|
|
5889
6025
|
/** Format: uuid */
|
|
5890
6026
|
wallet_id: string;
|
|
5891
6027
|
/**
|
|
5892
|
-
*
|
|
6028
|
+
* Format: uuid
|
|
6029
|
+
* @description Seed personal data + KYC documents from this verified user (user_data.uuid).
|
|
6030
|
+
* When set, personal fields become optional and only fill gaps.
|
|
6031
|
+
*
|
|
6032
|
+
*/
|
|
6033
|
+
user_data_id?: string;
|
|
6034
|
+
/**
|
|
6035
|
+
* @description Cardholder's first name (required in manual mode)
|
|
5893
6036
|
* @example John
|
|
5894
6037
|
*/
|
|
5895
|
-
first_name
|
|
6038
|
+
first_name?: string;
|
|
5896
6039
|
/**
|
|
5897
|
-
* @description Cardholder's last name
|
|
6040
|
+
* @description Cardholder's last name (required in manual mode)
|
|
5898
6041
|
* @example Doe
|
|
5899
6042
|
*/
|
|
5900
|
-
last_name
|
|
6043
|
+
last_name?: string;
|
|
5901
6044
|
/**
|
|
5902
6045
|
* Format: email
|
|
5903
|
-
* @description Cardholder's email address
|
|
6046
|
+
* @description Cardholder's email address (required in manual mode)
|
|
5904
6047
|
* @example john.doe@example.com
|
|
5905
6048
|
*/
|
|
5906
|
-
email
|
|
6049
|
+
email?: string;
|
|
5907
6050
|
/**
|
|
5908
|
-
* @description Cardholder's phone number in E.164 format
|
|
6051
|
+
* @description Cardholder's phone number in E.164 format (required in manual mode)
|
|
5909
6052
|
* @example +14155552671
|
|
5910
6053
|
*/
|
|
5911
|
-
phone
|
|
6054
|
+
phone?: string;
|
|
5912
6055
|
/**
|
|
5913
6056
|
* Format: uuid
|
|
5914
6057
|
* @description Issuing program ID (required). vendor_id is resolved from the program automatically.
|
|
5915
6058
|
*/
|
|
5916
6059
|
issuing_program_id: string;
|
|
5917
|
-
/**
|
|
5918
|
-
* Format: uuid
|
|
5919
|
-
* @description Sub-account ID (required for balance card vendors)
|
|
5920
|
-
*/
|
|
5921
|
-
sub_account_id?: string;
|
|
5922
6060
|
/**
|
|
5923
6061
|
* Format: date
|
|
5924
|
-
* @description Cardholder's date of birth
|
|
6062
|
+
* @description Cardholder's date of birth (YYYY-MM-DD)
|
|
5925
6063
|
* @example 1990-01-15
|
|
5926
6064
|
*/
|
|
5927
|
-
|
|
6065
|
+
birth_date?: string;
|
|
5928
6066
|
/**
|
|
5929
6067
|
* @description ISO 3166-1 alpha-3 country code
|
|
5930
6068
|
* @example USA
|
|
5931
6069
|
*/
|
|
5932
6070
|
nationality?: string;
|
|
6071
|
+
/**
|
|
6072
|
+
* @description Cardholder's gender (required by some vendors)
|
|
6073
|
+
* @enum {string}
|
|
6074
|
+
*/
|
|
6075
|
+
gender?: "M" | "F";
|
|
6076
|
+
/**
|
|
6077
|
+
* @description Relationship of the cardholder to the account holder
|
|
6078
|
+
* @enum {string}
|
|
6079
|
+
*/
|
|
6080
|
+
cardholder_relationship?: "EMPLOYEE" | "CONTRACTOR";
|
|
6081
|
+
/**
|
|
6082
|
+
* @description Identity document type (KYC vendors)
|
|
6083
|
+
* @enum {string}
|
|
6084
|
+
*/
|
|
6085
|
+
gov_id_type?: "passport" | "id_card" | "driving_license";
|
|
6086
|
+
/** @description Identity document number */
|
|
6087
|
+
gov_id_number?: string;
|
|
6088
|
+
/**
|
|
6089
|
+
* @description Issuing country of the identity document (2-3 letter code)
|
|
6090
|
+
* @example USA
|
|
6091
|
+
*/
|
|
6092
|
+
gov_id_country?: string;
|
|
6093
|
+
/**
|
|
6094
|
+
* Format: date
|
|
6095
|
+
* @description Identity document issue date (YYYY-MM-DD)
|
|
6096
|
+
*/
|
|
6097
|
+
gov_id_issuance_date?: string;
|
|
6098
|
+
/**
|
|
6099
|
+
* Format: date
|
|
6100
|
+
* @description Identity document expiry date (YYYY-MM-DD)
|
|
6101
|
+
*/
|
|
6102
|
+
gov_id_expiration_date?: string;
|
|
5933
6103
|
/** @description Cardholder's address */
|
|
5934
6104
|
address?: {
|
|
5935
6105
|
/**
|
|
@@ -5955,7 +6125,7 @@ export interface paths {
|
|
|
5955
6125
|
};
|
|
5956
6126
|
};
|
|
5957
6127
|
responses: {
|
|
5958
|
-
/** @description Cardholder created
|
|
6128
|
+
/** @description Cardholder draft created (status DRAFT, not yet registered at the vendor) */
|
|
5959
6129
|
200: {
|
|
5960
6130
|
headers: {
|
|
5961
6131
|
[name: string]: unknown;
|
|
@@ -6085,6 +6255,29 @@ export interface paths {
|
|
|
6085
6255
|
last_name?: string;
|
|
6086
6256
|
email?: string;
|
|
6087
6257
|
phone?: string;
|
|
6258
|
+
/** @description ISO 3166-1 alpha-3 country code */
|
|
6259
|
+
nationality?: string;
|
|
6260
|
+
/** @enum {string} */
|
|
6261
|
+
gender?: "M" | "F";
|
|
6262
|
+
/** @enum {string} */
|
|
6263
|
+
cardholder_relationship?: "EMPLOYEE" | "CONTRACTOR";
|
|
6264
|
+
/** @enum {string} */
|
|
6265
|
+
gov_id_type?: "passport" | "id_card" | "driving_license";
|
|
6266
|
+
gov_id_number?: string;
|
|
6267
|
+
/** @description 2-3 letter uppercase country code */
|
|
6268
|
+
gov_id_country?: string;
|
|
6269
|
+
/** Format: date */
|
|
6270
|
+
gov_id_issuance_date?: string;
|
|
6271
|
+
/** Format: date */
|
|
6272
|
+
gov_id_expiration_date?: string;
|
|
6273
|
+
address?: {
|
|
6274
|
+
line1?: string;
|
|
6275
|
+
line2?: string;
|
|
6276
|
+
city?: string;
|
|
6277
|
+
state?: string;
|
|
6278
|
+
postal_code?: string;
|
|
6279
|
+
country?: string;
|
|
6280
|
+
};
|
|
6088
6281
|
};
|
|
6089
6282
|
};
|
|
6090
6283
|
};
|
|
@@ -6106,6 +6299,310 @@ export interface paths {
|
|
|
6106
6299
|
};
|
|
6107
6300
|
trace?: never;
|
|
6108
6301
|
};
|
|
6302
|
+
"/admin/issuing/cardholders/{cardholder_id}/documents": {
|
|
6303
|
+
parameters: {
|
|
6304
|
+
query?: never;
|
|
6305
|
+
header?: never;
|
|
6306
|
+
path?: never;
|
|
6307
|
+
cookie?: never;
|
|
6308
|
+
};
|
|
6309
|
+
get?: never;
|
|
6310
|
+
put?: never;
|
|
6311
|
+
/**
|
|
6312
|
+
* Attach uploaded KYC documents to a cardholder
|
|
6313
|
+
* @description Attaches files already uploaded via
|
|
6314
|
+
* `POST /admin/issuing/cardholder-documents` to this cardholder. The body
|
|
6315
|
+
* carries upload ids only — no file bytes travel here.
|
|
6316
|
+
*
|
|
6317
|
+
* A document of a type the cardholder already has replaces the previous
|
|
6318
|
+
* one, and the superseded file is deleted. An upload can only be attached
|
|
6319
|
+
* once, and only to a cardholder in the wallet it was uploaded for.
|
|
6320
|
+
*
|
|
6321
|
+
* Documents are not pushed to the vendor here; they travel at submit.
|
|
6322
|
+
*
|
|
6323
|
+
*/
|
|
6324
|
+
post: {
|
|
6325
|
+
parameters: {
|
|
6326
|
+
query: {
|
|
6327
|
+
wallet_id: string;
|
|
6328
|
+
};
|
|
6329
|
+
header?: never;
|
|
6330
|
+
path: {
|
|
6331
|
+
cardholder_id: string;
|
|
6332
|
+
};
|
|
6333
|
+
cookie?: never;
|
|
6334
|
+
};
|
|
6335
|
+
requestBody: {
|
|
6336
|
+
content: {
|
|
6337
|
+
"application/json": {
|
|
6338
|
+
document_ids: string[];
|
|
6339
|
+
};
|
|
6340
|
+
};
|
|
6341
|
+
};
|
|
6342
|
+
responses: {
|
|
6343
|
+
/** @description Documents attached; returns the updated cardholder */
|
|
6344
|
+
200: {
|
|
6345
|
+
headers: {
|
|
6346
|
+
[name: string]: unknown;
|
|
6347
|
+
};
|
|
6348
|
+
content: {
|
|
6349
|
+
"application/json": {
|
|
6350
|
+
/** @example true */
|
|
6351
|
+
success?: boolean;
|
|
6352
|
+
data?: components["schemas"]["Cardholder"];
|
|
6353
|
+
};
|
|
6354
|
+
};
|
|
6355
|
+
};
|
|
6356
|
+
/** @description document_ids missing, empty, or listing two files of one type */
|
|
6357
|
+
400: {
|
|
6358
|
+
headers: {
|
|
6359
|
+
[name: string]: unknown;
|
|
6360
|
+
};
|
|
6361
|
+
content?: never;
|
|
6362
|
+
};
|
|
6363
|
+
/** @description Cardholder or upload id not found */
|
|
6364
|
+
404: {
|
|
6365
|
+
headers: {
|
|
6366
|
+
[name: string]: unknown;
|
|
6367
|
+
};
|
|
6368
|
+
content?: never;
|
|
6369
|
+
};
|
|
6370
|
+
/** @description An upload is already attached to a cardholder */
|
|
6371
|
+
409: {
|
|
6372
|
+
headers: {
|
|
6373
|
+
[name: string]: unknown;
|
|
6374
|
+
};
|
|
6375
|
+
content?: never;
|
|
6376
|
+
};
|
|
6377
|
+
};
|
|
6378
|
+
};
|
|
6379
|
+
delete?: never;
|
|
6380
|
+
options?: never;
|
|
6381
|
+
head?: never;
|
|
6382
|
+
patch?: never;
|
|
6383
|
+
trace?: never;
|
|
6384
|
+
};
|
|
6385
|
+
"/admin/issuing/cardholder-documents": {
|
|
6386
|
+
parameters: {
|
|
6387
|
+
query?: never;
|
|
6388
|
+
header?: never;
|
|
6389
|
+
path?: never;
|
|
6390
|
+
cookie?: never;
|
|
6391
|
+
};
|
|
6392
|
+
get?: never;
|
|
6393
|
+
put?: never;
|
|
6394
|
+
/**
|
|
6395
|
+
* Upload KYC document files
|
|
6396
|
+
* @description Uploads KYC files against a wallet via `multipart/form-data`, with no
|
|
6397
|
+
* cardholder involved. The form field name is the document type (`selfie`,
|
|
6398
|
+
* `gov_id_front`, `gov_id_back`); one file per type, 5MB max each, formats
|
|
6399
|
+
* png/jpeg/pdf.
|
|
6400
|
+
*
|
|
6401
|
+
* The response returns an `id` per file; pass those to
|
|
6402
|
+
* `POST /admin/issuing/cardholders/{cardholder_id}/documents` to attach
|
|
6403
|
+
* them. Uploads that are never attached are deleted by a cleanup sweep.
|
|
6404
|
+
*
|
|
6405
|
+
*/
|
|
6406
|
+
post: {
|
|
6407
|
+
parameters: {
|
|
6408
|
+
query: {
|
|
6409
|
+
wallet_id: string;
|
|
6410
|
+
};
|
|
6411
|
+
header?: never;
|
|
6412
|
+
path?: never;
|
|
6413
|
+
cookie?: never;
|
|
6414
|
+
};
|
|
6415
|
+
requestBody: {
|
|
6416
|
+
content: {
|
|
6417
|
+
"multipart/form-data": {
|
|
6418
|
+
/**
|
|
6419
|
+
* Format: binary
|
|
6420
|
+
* @description Identity photo / selfie
|
|
6421
|
+
*/
|
|
6422
|
+
selfie?: string;
|
|
6423
|
+
/**
|
|
6424
|
+
* Format: binary
|
|
6425
|
+
* @description Government ID, front side
|
|
6426
|
+
*/
|
|
6427
|
+
gov_id_front?: string;
|
|
6428
|
+
/**
|
|
6429
|
+
* Format: binary
|
|
6430
|
+
* @description Government ID, back side
|
|
6431
|
+
*/
|
|
6432
|
+
gov_id_back?: string;
|
|
6433
|
+
};
|
|
6434
|
+
};
|
|
6435
|
+
};
|
|
6436
|
+
responses: {
|
|
6437
|
+
/** @description Files stored; returns one upload per file */
|
|
6438
|
+
201: {
|
|
6439
|
+
headers: {
|
|
6440
|
+
[name: string]: unknown;
|
|
6441
|
+
};
|
|
6442
|
+
content: {
|
|
6443
|
+
"application/json": {
|
|
6444
|
+
/** @example true */
|
|
6445
|
+
success?: boolean;
|
|
6446
|
+
data?: {
|
|
6447
|
+
documents?: components["schemas"]["CardholderDocumentUpload"][];
|
|
6448
|
+
};
|
|
6449
|
+
};
|
|
6450
|
+
};
|
|
6451
|
+
};
|
|
6452
|
+
/** @description No file parts, unsupported field/type, or a file exceeds 5MB */
|
|
6453
|
+
400: {
|
|
6454
|
+
headers: {
|
|
6455
|
+
[name: string]: unknown;
|
|
6456
|
+
};
|
|
6457
|
+
content?: never;
|
|
6458
|
+
};
|
|
6459
|
+
};
|
|
6460
|
+
};
|
|
6461
|
+
delete?: never;
|
|
6462
|
+
options?: never;
|
|
6463
|
+
head?: never;
|
|
6464
|
+
patch?: never;
|
|
6465
|
+
trace?: never;
|
|
6466
|
+
};
|
|
6467
|
+
"/admin/issuing/cardholder-documents/{document_id}": {
|
|
6468
|
+
parameters: {
|
|
6469
|
+
query?: never;
|
|
6470
|
+
header?: never;
|
|
6471
|
+
path?: never;
|
|
6472
|
+
cookie?: never;
|
|
6473
|
+
};
|
|
6474
|
+
get?: never;
|
|
6475
|
+
put?: never;
|
|
6476
|
+
post?: never;
|
|
6477
|
+
/**
|
|
6478
|
+
* Discard an uploaded file
|
|
6479
|
+
* @description Deletes an upload that has not been attached to a cardholder yet.
|
|
6480
|
+
* Attached documents are refused with 409; replace them by attaching a new
|
|
6481
|
+
* file of the same type.
|
|
6482
|
+
*
|
|
6483
|
+
*/
|
|
6484
|
+
delete: {
|
|
6485
|
+
parameters: {
|
|
6486
|
+
query: {
|
|
6487
|
+
wallet_id: string;
|
|
6488
|
+
};
|
|
6489
|
+
header?: never;
|
|
6490
|
+
path: {
|
|
6491
|
+
document_id: string;
|
|
6492
|
+
};
|
|
6493
|
+
cookie?: never;
|
|
6494
|
+
};
|
|
6495
|
+
requestBody?: never;
|
|
6496
|
+
responses: {
|
|
6497
|
+
/** @description Upload discarded */
|
|
6498
|
+
200: {
|
|
6499
|
+
headers: {
|
|
6500
|
+
[name: string]: unknown;
|
|
6501
|
+
};
|
|
6502
|
+
content?: never;
|
|
6503
|
+
};
|
|
6504
|
+
/** @description Upload not found for this wallet */
|
|
6505
|
+
404: {
|
|
6506
|
+
headers: {
|
|
6507
|
+
[name: string]: unknown;
|
|
6508
|
+
};
|
|
6509
|
+
content?: never;
|
|
6510
|
+
};
|
|
6511
|
+
/** @description Upload is already attached to a cardholder */
|
|
6512
|
+
409: {
|
|
6513
|
+
headers: {
|
|
6514
|
+
[name: string]: unknown;
|
|
6515
|
+
};
|
|
6516
|
+
content?: never;
|
|
6517
|
+
};
|
|
6518
|
+
};
|
|
6519
|
+
};
|
|
6520
|
+
options?: never;
|
|
6521
|
+
head?: never;
|
|
6522
|
+
patch?: never;
|
|
6523
|
+
trace?: never;
|
|
6524
|
+
};
|
|
6525
|
+
"/admin/issuing/cardholders/{cardholder_id}/submit": {
|
|
6526
|
+
parameters: {
|
|
6527
|
+
query?: never;
|
|
6528
|
+
header?: never;
|
|
6529
|
+
path?: never;
|
|
6530
|
+
cookie?: never;
|
|
6531
|
+
};
|
|
6532
|
+
get?: never;
|
|
6533
|
+
put?: never;
|
|
6534
|
+
/**
|
|
6535
|
+
* Submit cardholder draft
|
|
6536
|
+
* @description Registers a `DRAFT` cardholder at the vendor and flips it to `ACTIVE`. The vendor is
|
|
6537
|
+
* resolved from the cardholder's issuing program.
|
|
6538
|
+
*
|
|
6539
|
+
* Refused with `400 CARDHOLDER_SUBMISSION_INCOMPLETE` while the program's KYC level is
|
|
6540
|
+
* not met; `error.details.missing` lists every field and file still needed. A failed
|
|
6541
|
+
* submit leaves the draft untouched, so it can be retried.
|
|
6542
|
+
*
|
|
6543
|
+
*/
|
|
6544
|
+
post: {
|
|
6545
|
+
parameters: {
|
|
6546
|
+
query: {
|
|
6547
|
+
wallet_id: string;
|
|
6548
|
+
};
|
|
6549
|
+
header?: never;
|
|
6550
|
+
path: {
|
|
6551
|
+
cardholder_id: string;
|
|
6552
|
+
};
|
|
6553
|
+
cookie?: never;
|
|
6554
|
+
};
|
|
6555
|
+
requestBody?: never;
|
|
6556
|
+
responses: {
|
|
6557
|
+
/** @description Cardholder registered at the vendor and activated */
|
|
6558
|
+
200: {
|
|
6559
|
+
headers: {
|
|
6560
|
+
[name: string]: unknown;
|
|
6561
|
+
};
|
|
6562
|
+
content: {
|
|
6563
|
+
"application/json": {
|
|
6564
|
+
/** @example true */
|
|
6565
|
+
success?: boolean;
|
|
6566
|
+
data?: components["schemas"]["Cardholder"];
|
|
6567
|
+
};
|
|
6568
|
+
};
|
|
6569
|
+
};
|
|
6570
|
+
/** @description KYC dossier incomplete, or the program has no vendor configured */
|
|
6571
|
+
400: {
|
|
6572
|
+
headers: {
|
|
6573
|
+
[name: string]: unknown;
|
|
6574
|
+
};
|
|
6575
|
+
content?: never;
|
|
6576
|
+
};
|
|
6577
|
+
/** @description Cardholder not found */
|
|
6578
|
+
404: {
|
|
6579
|
+
headers: {
|
|
6580
|
+
[name: string]: unknown;
|
|
6581
|
+
};
|
|
6582
|
+
content?: never;
|
|
6583
|
+
};
|
|
6584
|
+
/** @description Cardholder is not a draft (already submitted) */
|
|
6585
|
+
409: {
|
|
6586
|
+
headers: {
|
|
6587
|
+
[name: string]: unknown;
|
|
6588
|
+
};
|
|
6589
|
+
content?: never;
|
|
6590
|
+
};
|
|
6591
|
+
/** @description Vendor rejected the registration; the draft is kept */
|
|
6592
|
+
502: {
|
|
6593
|
+
headers: {
|
|
6594
|
+
[name: string]: unknown;
|
|
6595
|
+
};
|
|
6596
|
+
content?: never;
|
|
6597
|
+
};
|
|
6598
|
+
};
|
|
6599
|
+
};
|
|
6600
|
+
delete?: never;
|
|
6601
|
+
options?: never;
|
|
6602
|
+
head?: never;
|
|
6603
|
+
patch?: never;
|
|
6604
|
+
trace?: never;
|
|
6605
|
+
};
|
|
6109
6606
|
"/admin/issuing/cards": {
|
|
6110
6607
|
parameters: {
|
|
6111
6608
|
query?: never;
|
|
@@ -6999,6 +7496,29 @@ export interface paths {
|
|
|
6999
7496
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
7000
7497
|
};
|
|
7001
7498
|
};
|
|
7499
|
+
/** @description Card provider refused the top-up during the pre-flight allowance check
|
|
7500
|
+
* (`TOPUP_NOT_ALLOWED` / `TOPUP_AMOUNT_EXCEEDS_VENDOR_LIMIT`). No order
|
|
7501
|
+
* was created and the wallet was not debited.
|
|
7502
|
+
* */
|
|
7503
|
+
409: {
|
|
7504
|
+
headers: {
|
|
7505
|
+
[name: string]: unknown;
|
|
7506
|
+
};
|
|
7507
|
+
content: {
|
|
7508
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7509
|
+
};
|
|
7510
|
+
};
|
|
7511
|
+
/** @description `TOPUP_CHECK_UNAVAILABLE` — the provider allowance check could not be
|
|
7512
|
+
* completed, so the top-up was refused rather than attempted.
|
|
7513
|
+
* */
|
|
7514
|
+
503: {
|
|
7515
|
+
headers: {
|
|
7516
|
+
[name: string]: unknown;
|
|
7517
|
+
};
|
|
7518
|
+
content: {
|
|
7519
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7520
|
+
};
|
|
7521
|
+
};
|
|
7002
7522
|
};
|
|
7003
7523
|
};
|
|
7004
7524
|
delete?: never;
|
|
@@ -7374,6 +7894,30 @@ export interface components {
|
|
|
7374
7894
|
issuing_program_id?: string;
|
|
7375
7895
|
address?: components["schemas"]["CardholderAddress"];
|
|
7376
7896
|
};
|
|
7897
|
+
/** @description An uploaded KYC file, addressable before it is attached to a cardholder */
|
|
7898
|
+
CardholderDocumentUpload: {
|
|
7899
|
+
/**
|
|
7900
|
+
* Format: uuid
|
|
7901
|
+
* @description Pass this to the attach endpoint
|
|
7902
|
+
*/
|
|
7903
|
+
id?: string;
|
|
7904
|
+
/**
|
|
7905
|
+
* @description Document type, taken from the multipart field name
|
|
7906
|
+
* @enum {string}
|
|
7907
|
+
*/
|
|
7908
|
+
type?: "selfie" | "gov_id_front" | "gov_id_back";
|
|
7909
|
+
/** @description Original file name, when the client sent one */
|
|
7910
|
+
filename?: string | null;
|
|
7911
|
+
/** @example image/png */
|
|
7912
|
+
content_type?: string;
|
|
7913
|
+
/**
|
|
7914
|
+
* @description File size in bytes
|
|
7915
|
+
* @example 284512
|
|
7916
|
+
*/
|
|
7917
|
+
size?: number;
|
|
7918
|
+
/** Format: date-time */
|
|
7919
|
+
created_at?: string;
|
|
7920
|
+
};
|
|
7377
7921
|
/** @description Sub-account object (from fiat_accounts table enriched with external API data) */
|
|
7378
7922
|
IssuingSubAccount: {
|
|
7379
7923
|
/**
|
|
@@ -7424,8 +7968,6 @@ export interface components {
|
|
|
7424
7968
|
* @description Account currency UUID
|
|
7425
7969
|
*/
|
|
7426
7970
|
account_currency?: string;
|
|
7427
|
-
/** @description Bank account details (for VA-type programs) */
|
|
7428
|
-
bank_account_details?: Record<string, never> | null;
|
|
7429
7971
|
/** @description Number of cards linked to this sub-account */
|
|
7430
7972
|
cards_count?: number;
|
|
7431
7973
|
/** @description Bank account details from API meta */
|
|
@@ -8009,7 +8551,13 @@ export interface components {
|
|
|
8009
8551
|
} | null;
|
|
8010
8552
|
};
|
|
8011
8553
|
CryptoTransferRequest: {
|
|
8554
|
+
/** @description Amount to send, in `from_currency_id` units. With `is_reverse: true` — the amount the recipient must receive, in destination-currency units. */
|
|
8012
8555
|
amount: number;
|
|
8556
|
+
/**
|
|
8557
|
+
* @description When true, `amount` is the receive-amount and the debited amount is grossed up with fees.
|
|
8558
|
+
* @default false
|
|
8559
|
+
*/
|
|
8560
|
+
is_reverse: boolean;
|
|
8013
8561
|
/** Format: uuid */
|
|
8014
8562
|
from_currency_id: string;
|
|
8015
8563
|
/** Format: uuid */
|
|
@@ -8025,7 +8573,13 @@ export interface components {
|
|
|
8025
8573
|
scheduled_at?: string;
|
|
8026
8574
|
};
|
|
8027
8575
|
OfframpOrderRequest: {
|
|
8576
|
+
/** @description Amount to send, in `from_currency_id` units. With `is_reverse: true` — the amount the recipient must receive, in destination-currency units. */
|
|
8028
8577
|
amount: number;
|
|
8578
|
+
/**
|
|
8579
|
+
* @description When true, `amount` is the receive-amount and the debited amount is grossed up with fees.
|
|
8580
|
+
* @default false
|
|
8581
|
+
*/
|
|
8582
|
+
is_reverse: boolean;
|
|
8029
8583
|
/** Format: uuid */
|
|
8030
8584
|
from_currency_id: string;
|
|
8031
8585
|
/** Format: uuid */
|
|
@@ -8048,8 +8602,13 @@ export interface components {
|
|
|
8048
8602
|
scheduled_at?: string;
|
|
8049
8603
|
};
|
|
8050
8604
|
ExchangeOrderRequest: {
|
|
8051
|
-
/** @description Amount to exchange
|
|
8605
|
+
/** @description Amount to exchange, in `from_currency_id` units. With `is_reverse: true` — the amount to receive, in `to_currency_id` units. */
|
|
8052
8606
|
amount: number;
|
|
8607
|
+
/**
|
|
8608
|
+
* @description When true, `amount` is the receive-amount and the debited amount is grossed up with fees.
|
|
8609
|
+
* @default false
|
|
8610
|
+
*/
|
|
8611
|
+
is_reverse: boolean;
|
|
8053
8612
|
/**
|
|
8054
8613
|
* Format: uuid
|
|
8055
8614
|
* @description Source currency UUID
|