squarefi-bff-api-module 1.36.34 → 1.36.36

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.
@@ -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 the user bound to the tenant API key.
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 Tenant key has no user_data_id bound */
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 AND registers them at the vendor in one request.
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
- * @description Cardholder's first name
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: string;
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: string;
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: string;
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: string;
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
- date_of_birth?: string;
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 and registered at vendor */
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 */