squarefi-bff-api-module 1.36.79 → 1.36.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/types/autogen/apiV1Frontend.types.d.ts +225 -77
- package/dist/api/types/types.d.ts +17 -7
- package/dist/api/user.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -210,7 +210,7 @@ const publicUrl = getPublicUrl(path);
|
|
|
210
210
|
| **developer** | Vendor & API key management |
|
|
211
211
|
| **exchange** | Exchange rates per order type / currency |
|
|
212
212
|
| **issuing** | Virtual & physical cards, limits, controls, transactions |
|
|
213
|
-
| **kyc** | KYC entities & data collection,
|
|
213
|
+
| **kyc** | KYC entities & data collection, provider flows, rails & forms |
|
|
214
214
|
| **list** | Static system lists – currencies, chains, countries |
|
|
215
215
|
| **orders** | Create / calculate orders (including internal transfer) |
|
|
216
216
|
| **tenants** | Tenant configuration |
|
|
@@ -9638,6 +9638,13 @@ export interface paths {
|
|
|
9638
9638
|
* Besides order columns it accepts `mass_payout_id` (uuid), which narrows the
|
|
9639
9639
|
* result to the orders of one mass payout batch — the same batch reported by
|
|
9640
9640
|
* the `mass_payout_id` field of each order. A non-uuid value is rejected with 400.
|
|
9641
|
+
*
|
|
9642
|
+
* It also accepts `rfi_case_id` (uuid), e.g. `[{"rfi_case_id":"<uuid>"}]`: only the
|
|
9643
|
+
* orders a compliance request covers — the same ones as `transactions` of
|
|
9644
|
+
* `GET /frontend/rfi/{wallet_id}/{case_id}`, closed requests included; dust orders
|
|
9645
|
+
* among them show only with `show_low_balance=true`, as everywhere in this list. It
|
|
9646
|
+
* combines with the other filters and the dates. A request of another account, or an
|
|
9647
|
+
* unknown id, gives an empty result; a non-uuid value is rejected with 400.
|
|
9641
9648
|
* */
|
|
9642
9649
|
filters?: string;
|
|
9643
9650
|
date_from?: string;
|
|
@@ -9667,6 +9674,15 @@ export interface paths {
|
|
|
9667
9674
|
};
|
|
9668
9675
|
};
|
|
9669
9676
|
};
|
|
9677
|
+
/** @description `INVALID_REQUEST` — `filters` is not a JSON array, or `mass_payout_id` / `rfi_case_id` is not a uuid */
|
|
9678
|
+
400: {
|
|
9679
|
+
headers: {
|
|
9680
|
+
[name: string]: unknown;
|
|
9681
|
+
};
|
|
9682
|
+
content: {
|
|
9683
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
9684
|
+
};
|
|
9685
|
+
};
|
|
9670
9686
|
/** @description Access denied to wallet */
|
|
9671
9687
|
403: {
|
|
9672
9688
|
headers: {
|
|
@@ -9709,6 +9725,13 @@ export interface paths {
|
|
|
9709
9725
|
* Besides order columns it accepts `mass_payout_id` (uuid), which narrows the
|
|
9710
9726
|
* result to the orders of one mass payout batch — the same batch reported by
|
|
9711
9727
|
* the `mass_payout_id` field of each order. A non-uuid value is rejected with 400.
|
|
9728
|
+
*
|
|
9729
|
+
* It also accepts `rfi_case_id` (uuid), e.g. `[{"rfi_case_id":"<uuid>"}]`: only the
|
|
9730
|
+
* orders a compliance request covers — the same ones as `transactions` of
|
|
9731
|
+
* `GET /frontend/rfi/{wallet_id}/{case_id}`, closed requests included; dust orders
|
|
9732
|
+
* among them show only with `show_low_balance=true`, as everywhere in this list. It
|
|
9733
|
+
* combines with the other filters and the dates. A request of another account, or an
|
|
9734
|
+
* unknown id, gives an empty result; a non-uuid value is rejected with 400.
|
|
9712
9735
|
* */
|
|
9713
9736
|
filters?: string;
|
|
9714
9737
|
/** @description If `true`, includes dust orders (amount below render threshold for either currency). Defaults to `false` — dust orders are hidden. */
|
|
@@ -9731,6 +9754,15 @@ export interface paths {
|
|
|
9731
9754
|
"text/csv": string;
|
|
9732
9755
|
};
|
|
9733
9756
|
};
|
|
9757
|
+
/** @description `INVALID_REQUEST` — `filters` is not a JSON array, or `mass_payout_id` / `rfi_case_id` is not a uuid */
|
|
9758
|
+
400: {
|
|
9759
|
+
headers: {
|
|
9760
|
+
[name: string]: unknown;
|
|
9761
|
+
};
|
|
9762
|
+
content: {
|
|
9763
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
9764
|
+
};
|
|
9765
|
+
};
|
|
9734
9766
|
/** @description Access denied to wallet */
|
|
9735
9767
|
403: {
|
|
9736
9768
|
headers: {
|
|
@@ -11304,11 +11336,15 @@ export interface paths {
|
|
|
11304
11336
|
};
|
|
11305
11337
|
/**
|
|
11306
11338
|
* List compliance requests (RFI) of an account, with the banner counters
|
|
11307
|
-
* @description Requests for information compliance sent about this account, newest first.
|
|
11308
|
-
*
|
|
11309
|
-
*
|
|
11310
|
-
*
|
|
11311
|
-
*
|
|
11339
|
+
* @description Requests for information compliance sent about this account, newest first. RFI in
|
|
11340
|
+
* the app is being rolled out per workspace: while a workspace still works RFI by
|
|
11341
|
+
* email, the list is empty, `summary` is all zeros and every request answers 404 —
|
|
11342
|
+
* its requests stay in the client's mailbox. `summary` counts every open request regardless of paging — use it for the
|
|
11343
|
+
* home-screen banner: `action_required > 0` shows it, `overdue > 0` turns it red,
|
|
11344
|
+
* `next_due_at` is the nearest deadline. Any wallet member except the scoped `user` role
|
|
11345
|
+
* may read. Refresh on the realtime `data.changed` hint with entity `WALLET_RFI`; a new
|
|
11346
|
+
* question, a new message from compliance and the closing also arrive as the
|
|
11347
|
+
* `RFI_REQUESTED` / `RFI_RESOLVED` notifications (in-app, push, email).
|
|
11312
11348
|
*
|
|
11313
11349
|
*/
|
|
11314
11350
|
get: {
|
|
@@ -11318,6 +11354,7 @@ export interface paths {
|
|
|
11318
11354
|
status?: "open" | "action_required" | "awaiting_compliance" | "closed";
|
|
11319
11355
|
/** @description Only the requests covering this transaction — what the transaction screen asks by to decide whether to show "compliance has questions". A transaction of another account, or one no request covers, returns an empty page. */
|
|
11320
11356
|
order_uuid?: string;
|
|
11357
|
+
/** @description Page size, from 1 to 100; 20 when omitted. */
|
|
11321
11358
|
limit?: number;
|
|
11322
11359
|
offset?: number;
|
|
11323
11360
|
};
|
|
@@ -11338,24 +11375,41 @@ export interface paths {
|
|
|
11338
11375
|
content: {
|
|
11339
11376
|
"application/json": {
|
|
11340
11377
|
/** @example true */
|
|
11341
|
-
success
|
|
11342
|
-
data
|
|
11343
|
-
summary
|
|
11344
|
-
action_required
|
|
11345
|
-
overdue
|
|
11346
|
-
awaiting_compliance
|
|
11378
|
+
success: boolean;
|
|
11379
|
+
data: {
|
|
11380
|
+
summary: {
|
|
11381
|
+
action_required: number;
|
|
11382
|
+
overdue: number;
|
|
11383
|
+
awaiting_compliance: number;
|
|
11347
11384
|
/** Format: date-time */
|
|
11348
|
-
next_due_at
|
|
11385
|
+
next_due_at: string | null;
|
|
11349
11386
|
};
|
|
11350
|
-
items
|
|
11351
|
-
total
|
|
11352
|
-
limit
|
|
11353
|
-
offset
|
|
11387
|
+
items: components["schemas"]["RfiCase"][];
|
|
11388
|
+
total: number;
|
|
11389
|
+
limit: number;
|
|
11390
|
+
offset: number;
|
|
11354
11391
|
};
|
|
11355
11392
|
};
|
|
11356
11393
|
};
|
|
11357
11394
|
};
|
|
11358
|
-
|
|
11395
|
+
/** @description `VALIDATION_ERROR` — `limit` outside 1–100, a negative `offset`, an unknown `status` */
|
|
11396
|
+
400: {
|
|
11397
|
+
headers: {
|
|
11398
|
+
[name: string]: unknown;
|
|
11399
|
+
};
|
|
11400
|
+
content: {
|
|
11401
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11402
|
+
};
|
|
11403
|
+
};
|
|
11404
|
+
/** @description `ACCESS_DENIED` — not a member of this account */
|
|
11405
|
+
403: {
|
|
11406
|
+
headers: {
|
|
11407
|
+
[name: string]: unknown;
|
|
11408
|
+
};
|
|
11409
|
+
content: {
|
|
11410
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11411
|
+
};
|
|
11412
|
+
};
|
|
11359
11413
|
};
|
|
11360
11414
|
};
|
|
11361
11415
|
put?: never;
|
|
@@ -11376,7 +11430,8 @@ export interface paths {
|
|
|
11376
11430
|
/**
|
|
11377
11431
|
* Get a compliance request with its conversation and covered transactions
|
|
11378
11432
|
* @description The conversation holds compliance's questions and the client's answers, oldest first.
|
|
11379
|
-
* A request of another account answers 404
|
|
11433
|
+
* A request of another account answers 404, and so does every request of a workspace
|
|
11434
|
+
* that still works RFI by email.
|
|
11380
11435
|
*
|
|
11381
11436
|
*/
|
|
11382
11437
|
get: {
|
|
@@ -11400,12 +11455,38 @@ export interface paths {
|
|
|
11400
11455
|
content: {
|
|
11401
11456
|
"application/json": {
|
|
11402
11457
|
/** @example true */
|
|
11403
|
-
success
|
|
11404
|
-
data
|
|
11458
|
+
success: boolean;
|
|
11459
|
+
data: components["schemas"]["RfiCaseDetail"];
|
|
11405
11460
|
};
|
|
11406
11461
|
};
|
|
11407
11462
|
};
|
|
11408
|
-
|
|
11463
|
+
/** @description `VALIDATION_ERROR` — `case_id` is not a UUID */
|
|
11464
|
+
400: {
|
|
11465
|
+
headers: {
|
|
11466
|
+
[name: string]: unknown;
|
|
11467
|
+
};
|
|
11468
|
+
content: {
|
|
11469
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11470
|
+
};
|
|
11471
|
+
};
|
|
11472
|
+
/** @description `ACCESS_DENIED` — not a member of this account */
|
|
11473
|
+
403: {
|
|
11474
|
+
headers: {
|
|
11475
|
+
[name: string]: unknown;
|
|
11476
|
+
};
|
|
11477
|
+
content: {
|
|
11478
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11479
|
+
};
|
|
11480
|
+
};
|
|
11481
|
+
/** @description `NOT_FOUND` — no such request on this account */
|
|
11482
|
+
404: {
|
|
11483
|
+
headers: {
|
|
11484
|
+
[name: string]: unknown;
|
|
11485
|
+
};
|
|
11486
|
+
content: {
|
|
11487
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11488
|
+
};
|
|
11489
|
+
};
|
|
11409
11490
|
};
|
|
11410
11491
|
};
|
|
11411
11492
|
put?: never;
|
|
@@ -11427,10 +11508,18 @@ export interface paths {
|
|
|
11427
11508
|
put?: never;
|
|
11428
11509
|
/**
|
|
11429
11510
|
* Answer a compliance request
|
|
11430
|
-
* @description `multipart/form-data` with a `body` text field and up to 10
|
|
11431
|
-
* (PDF, JPEG, PNG, WebP, TXT, DOCX, XLSX; 20 MB each). At least one
|
|
11511
|
+
* @description `multipart/form-data` with a `body` text field (up to 20 000 characters) and up to 10
|
|
11512
|
+
* files under `files` (PDF, JPEG, PNG, WebP, TXT, DOCX, XLSX; 20 MB each). At least one
|
|
11513
|
+
* of the two is required.
|
|
11514
|
+
*
|
|
11515
|
+
* Each file is checked by its content, not by the `Content-Type` the browser sends: the
|
|
11516
|
+
* content must be one of these formats and the file name must end in its extension
|
|
11517
|
+
* (`.pdf`, `.jpg`/`.jpeg`, `.png`, `.webp`, `.txt`, `.docx`, `.xlsx`). The file is stored
|
|
11518
|
+
* under the type its content proves.
|
|
11519
|
+
*
|
|
11432
11520
|
* The request moves to `awaiting_compliance`; answering again while compliance reviews is
|
|
11433
|
-
* allowed, and compliance may ask further rounds. Requires the `admin` role on the
|
|
11521
|
+
* allowed, and compliance may ask further rounds. Requires the `owner` or `admin` role on the
|
|
11522
|
+
* wallet — an `auditor` reads only (`can_reply` is false for them).
|
|
11434
11523
|
* Do not set `Content-Type` manually — the browser adds the multipart boundary.
|
|
11435
11524
|
*
|
|
11436
11525
|
*/
|
|
@@ -11448,6 +11537,7 @@ export interface paths {
|
|
|
11448
11537
|
requestBody: {
|
|
11449
11538
|
content: {
|
|
11450
11539
|
"multipart/form-data": {
|
|
11540
|
+
/** @description The answer, up to 20 000 characters */
|
|
11451
11541
|
body?: string;
|
|
11452
11542
|
files?: string[];
|
|
11453
11543
|
};
|
|
@@ -11462,32 +11552,59 @@ export interface paths {
|
|
|
11462
11552
|
content: {
|
|
11463
11553
|
"application/json": {
|
|
11464
11554
|
/** @example true */
|
|
11465
|
-
success
|
|
11466
|
-
data
|
|
11555
|
+
success: boolean;
|
|
11556
|
+
data: components["schemas"]["RfiMessage"];
|
|
11467
11557
|
};
|
|
11468
11558
|
};
|
|
11469
11559
|
};
|
|
11470
|
-
/** @description `VALIDATION_ERROR`
|
|
11560
|
+
/** @description - `VALIDATION_ERROR` — no text and no files, more than 10 files, text over 20 000 characters, an empty file, `case_id` not a UUID
|
|
11561
|
+
* - `FILE_TOO_LARGE` — a file over 20 MB
|
|
11562
|
+
* - `UNSUPPORTED_FILE_TYPE` — a file whose content is not one of the formats, or does not match its name's extension
|
|
11563
|
+
* - `INVALID_REQUEST` — malformed multipart, or files under a field other than `files`
|
|
11564
|
+
* */
|
|
11471
11565
|
400: {
|
|
11472
11566
|
headers: {
|
|
11473
11567
|
[name: string]: unknown;
|
|
11474
11568
|
};
|
|
11475
|
-
content
|
|
11569
|
+
content: {
|
|
11570
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11571
|
+
};
|
|
11572
|
+
};
|
|
11573
|
+
/** @description `ACCESS_DENIED` — not a member of this account, or a member who only reads (`auditor`); `can_reply` in the detail is false for them */
|
|
11574
|
+
403: {
|
|
11575
|
+
headers: {
|
|
11576
|
+
[name: string]: unknown;
|
|
11577
|
+
};
|
|
11578
|
+
content: {
|
|
11579
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11580
|
+
};
|
|
11581
|
+
};
|
|
11582
|
+
/** @description `NOT_FOUND` — no such request on this account */
|
|
11583
|
+
404: {
|
|
11584
|
+
headers: {
|
|
11585
|
+
[name: string]: unknown;
|
|
11586
|
+
};
|
|
11587
|
+
content: {
|
|
11588
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11589
|
+
};
|
|
11476
11590
|
};
|
|
11477
|
-
404: components["responses"]["NotFoundError"];
|
|
11478
11591
|
/** @description `RFI_CLOSED` — the request no longer accepts replies */
|
|
11479
11592
|
409: {
|
|
11480
11593
|
headers: {
|
|
11481
11594
|
[name: string]: unknown;
|
|
11482
11595
|
};
|
|
11483
|
-
content
|
|
11596
|
+
content: {
|
|
11597
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11598
|
+
};
|
|
11484
11599
|
};
|
|
11485
|
-
/** @description
|
|
11600
|
+
/** @description `RATE_LIMIT_EXCEEDED` — more than 20 replies a minute */
|
|
11486
11601
|
429: {
|
|
11487
11602
|
headers: {
|
|
11488
11603
|
[name: string]: unknown;
|
|
11489
11604
|
};
|
|
11490
|
-
content
|
|
11605
|
+
content: {
|
|
11606
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11607
|
+
};
|
|
11491
11608
|
};
|
|
11492
11609
|
};
|
|
11493
11610
|
};
|
|
@@ -11527,16 +11644,42 @@ export interface paths {
|
|
|
11527
11644
|
content: {
|
|
11528
11645
|
"application/json": {
|
|
11529
11646
|
/** @example true */
|
|
11530
|
-
success
|
|
11531
|
-
data
|
|
11532
|
-
url
|
|
11647
|
+
success: boolean;
|
|
11648
|
+
data: {
|
|
11649
|
+
url: string;
|
|
11533
11650
|
/** @example 120 */
|
|
11534
|
-
expires_in
|
|
11651
|
+
expires_in: number;
|
|
11535
11652
|
};
|
|
11536
11653
|
};
|
|
11537
11654
|
};
|
|
11538
11655
|
};
|
|
11539
|
-
|
|
11656
|
+
/** @description `VALIDATION_ERROR` — `case_id` or `attachment_id` is not a UUID */
|
|
11657
|
+
400: {
|
|
11658
|
+
headers: {
|
|
11659
|
+
[name: string]: unknown;
|
|
11660
|
+
};
|
|
11661
|
+
content: {
|
|
11662
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11663
|
+
};
|
|
11664
|
+
};
|
|
11665
|
+
/** @description `ACCESS_DENIED` — not a member of this account */
|
|
11666
|
+
403: {
|
|
11667
|
+
headers: {
|
|
11668
|
+
[name: string]: unknown;
|
|
11669
|
+
};
|
|
11670
|
+
content: {
|
|
11671
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11672
|
+
};
|
|
11673
|
+
};
|
|
11674
|
+
/** @description `NOT_FOUND` — no such request or file on this account */
|
|
11675
|
+
404: {
|
|
11676
|
+
headers: {
|
|
11677
|
+
[name: string]: unknown;
|
|
11678
|
+
};
|
|
11679
|
+
content: {
|
|
11680
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
11681
|
+
};
|
|
11682
|
+
};
|
|
11540
11683
|
};
|
|
11541
11684
|
};
|
|
11542
11685
|
put?: never;
|
|
@@ -18186,87 +18329,92 @@ export interface components {
|
|
|
18186
18329
|
};
|
|
18187
18330
|
RfiCase: {
|
|
18188
18331
|
/** Format: uuid */
|
|
18189
|
-
id
|
|
18332
|
+
id: string;
|
|
18190
18333
|
/**
|
|
18191
18334
|
* @description Human-facing id — quoted in the notification email
|
|
18192
18335
|
* @example RFI-000042
|
|
18193
18336
|
*/
|
|
18194
|
-
reference
|
|
18337
|
+
reference: string;
|
|
18195
18338
|
/** @enum {string} */
|
|
18196
|
-
type
|
|
18339
|
+
type: "onboarding" | "transaction" | "ongoing";
|
|
18340
|
+
/**
|
|
18341
|
+
* @description What the request is about — the subject compliance wrote when opening it. Show it as is above the conversation; `messages` hold the question itself.
|
|
18342
|
+
* @example Incoming payments of $10,970 and $7,500
|
|
18343
|
+
*/
|
|
18344
|
+
subject: string;
|
|
18197
18345
|
/**
|
|
18198
18346
|
* @description `action_required` — compliance asked and waits for the client; `awaiting_compliance` — the client answered, compliance is reviewing; `closed` — no longer accepts replies.
|
|
18199
18347
|
* @enum {string}
|
|
18200
18348
|
*/
|
|
18201
|
-
status
|
|
18349
|
+
status: "action_required" | "awaiting_compliance" | "closed";
|
|
18202
18350
|
/**
|
|
18203
18351
|
* Format: date-time
|
|
18204
18352
|
* @description When the answer is due
|
|
18205
18353
|
*/
|
|
18206
|
-
due_at
|
|
18354
|
+
due_at: string | null;
|
|
18207
18355
|
/** @description True only while `action_required` and past `due_at` (red banner) */
|
|
18208
|
-
overdue
|
|
18356
|
+
overdue: boolean;
|
|
18209
18357
|
/** @description One of the covered transactions is held until the request closes */
|
|
18210
|
-
holds_transaction
|
|
18358
|
+
holds_transaction: boolean;
|
|
18211
18359
|
/** @description The account is on hold while the request is open */
|
|
18212
|
-
holds_account
|
|
18360
|
+
holds_account: boolean;
|
|
18213
18361
|
/** @description How many transactions the request covers */
|
|
18214
|
-
transactions_count
|
|
18362
|
+
transactions_count: number;
|
|
18215
18363
|
/** @description The last message of the conversation, for the card — null while nothing is visible yet */
|
|
18216
|
-
last_message
|
|
18364
|
+
last_message: {
|
|
18217
18365
|
/** @enum {string} */
|
|
18218
|
-
author
|
|
18366
|
+
author: "compliance" | "client";
|
|
18219
18367
|
/** @description One line of the message, up to 140 characters, cut at a word */
|
|
18220
|
-
preview
|
|
18368
|
+
preview: string | null;
|
|
18221
18369
|
/** Format: date-time */
|
|
18222
|
-
created_at
|
|
18370
|
+
created_at: string;
|
|
18223
18371
|
} | null;
|
|
18224
18372
|
/** Format: date-time */
|
|
18225
|
-
created_at
|
|
18373
|
+
created_at: string;
|
|
18226
18374
|
/** Format: date-time */
|
|
18227
|
-
updated_at
|
|
18375
|
+
updated_at: string;
|
|
18228
18376
|
/** Format: date-time */
|
|
18229
|
-
closed_at
|
|
18377
|
+
closed_at: string | null;
|
|
18230
18378
|
};
|
|
18231
18379
|
RfiAttachment: {
|
|
18232
18380
|
/** Format: uuid */
|
|
18233
|
-
id
|
|
18234
|
-
file_name
|
|
18235
|
-
|
|
18236
|
-
|
|
18381
|
+
id: string;
|
|
18382
|
+
file_name: string;
|
|
18383
|
+
/** @description The type the file's content proves (for files sent in the app); null only on some files that came by email */
|
|
18384
|
+
content_type: string | null;
|
|
18385
|
+
size_bytes: number | null;
|
|
18237
18386
|
/** Format: date-time */
|
|
18238
|
-
created_at
|
|
18387
|
+
created_at: string;
|
|
18239
18388
|
};
|
|
18240
18389
|
RfiMessage: {
|
|
18241
18390
|
/** Format: uuid */
|
|
18242
|
-
id
|
|
18243
|
-
/** @enum {string} */
|
|
18244
|
-
author?: "compliance" | "client";
|
|
18391
|
+
id: string;
|
|
18245
18392
|
/**
|
|
18246
|
-
* @description
|
|
18247
|
-
* @
|
|
18393
|
+
* @description Which side wrote the message. The analyst is never named — show a placeholder (e.g. "Compliance team") for `compliance` and "You" for `client`.
|
|
18394
|
+
* @enum {string}
|
|
18248
18395
|
*/
|
|
18249
|
-
|
|
18250
|
-
body
|
|
18251
|
-
attachments
|
|
18396
|
+
author: "compliance" | "client";
|
|
18397
|
+
body: string;
|
|
18398
|
+
attachments: components["schemas"]["RfiAttachment"][];
|
|
18252
18399
|
/** Format: date-time */
|
|
18253
|
-
created_at
|
|
18400
|
+
created_at: string;
|
|
18254
18401
|
};
|
|
18255
18402
|
RfiTransaction: {
|
|
18256
|
-
order_uuid
|
|
18257
|
-
order_type
|
|
18258
|
-
status
|
|
18259
|
-
amount_from
|
|
18260
|
-
amount_to
|
|
18403
|
+
order_uuid: string;
|
|
18404
|
+
order_type: string | null;
|
|
18405
|
+
status: string | null;
|
|
18406
|
+
amount_from: number | null;
|
|
18407
|
+
amount_to: number | null;
|
|
18261
18408
|
/** Format: date-time */
|
|
18262
|
-
created_at
|
|
18409
|
+
created_at: string | null;
|
|
18263
18410
|
};
|
|
18264
18411
|
RfiCaseDetail: components["schemas"]["RfiCase"] & {
|
|
18265
|
-
|
|
18412
|
+
/** @description Whether YOU may answer this request now: it is open (`action_required` or `awaiting_compliance`) and your role on the account writes — `owner` or `admin`. False on a closed request and for an `auditor`, who reads the conversation only: show it read-only, without the answer box. Otherwise `POST …/messages` answers 409 `RFI_CLOSED` or 403 `ACCESS_DENIED` respectively. */
|
|
18413
|
+
can_reply: boolean;
|
|
18266
18414
|
/** @description The conversation, oldest first */
|
|
18267
|
-
messages
|
|
18268
|
-
/** @description Every transaction the request covers, in the order compliance linked them */
|
|
18269
|
-
transactions
|
|
18415
|
+
messages: components["schemas"]["RfiMessage"][];
|
|
18416
|
+
/** @description Every transaction the request covers, in the order compliance linked them. For the full table (currencies, paging) open the order list with `filters=[{"rfi_case_id":"<id>"}]`. */
|
|
18417
|
+
transactions: components["schemas"]["RfiTransaction"][];
|
|
18270
18418
|
};
|
|
18271
18419
|
WalletKycRailResponse: {
|
|
18272
18420
|
/** @example true */
|
|
@@ -1693,8 +1693,7 @@ export declare namespace API {
|
|
|
1693
1693
|
* transactions, answered by the account's team with text and files.
|
|
1694
1694
|
*
|
|
1695
1695
|
* Every path is scoped by `wallet_id`, so each Request carries it. Responses are the frontend
|
|
1696
|
-
* `{ success, data }` envelope as the spec declares it.
|
|
1697
|
-
* because the spec declares no `required`; the types tighten on the regeneration that adds it.
|
|
1696
|
+
* `{ success, data }` envelope as the spec declares it.
|
|
1698
1697
|
*/
|
|
1699
1698
|
namespace Rfi {
|
|
1700
1699
|
type CasesRoot = pathsV1Frontend['/frontend/rfi/{wallet_id}'];
|
|
@@ -1706,12 +1705,17 @@ export declare namespace API {
|
|
|
1706
1705
|
export type Message = componentsV1Frontend['schemas']['RfiMessage'];
|
|
1707
1706
|
export type Attachment = componentsV1Frontend['schemas']['RfiAttachment'];
|
|
1708
1707
|
export type Transaction = componentsV1Frontend['schemas']['RfiTransaction'];
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1708
|
+
/**
|
|
1709
|
+
* The body of every RFI error response (`400`, `403`, `404`, `409`, `429`). The client rejects with
|
|
1710
|
+
* the `AxiosError`, so read it from `response.data`; the RFI code is its `error.code`.
|
|
1711
|
+
*/
|
|
1712
|
+
export type ErrorResponse = componentsV1Frontend['schemas']['ErrorResponse'];
|
|
1713
|
+
export type CaseStatus = Case['status'];
|
|
1714
|
+
export type CaseType = Case['type'];
|
|
1715
|
+
export type MessageAuthor = Message['author'];
|
|
1712
1716
|
/** The list's `status` filter. `open` = `action_required` + `awaiting_compliance`; no case has it. */
|
|
1713
1717
|
export type ListStatus = NonNullable<List.Request['status']>;
|
|
1714
|
-
export type Summary =
|
|
1718
|
+
export type Summary = List.Response['data']['summary'];
|
|
1715
1719
|
export namespace List {
|
|
1716
1720
|
type Request = CasesRoot['get']['parameters']['path'] & NonNullable<CasesRoot['get']['parameters']['query']>;
|
|
1717
1721
|
type Response = CasesRoot['get']['responses']['200']['content']['application/json'];
|
|
@@ -2422,7 +2426,13 @@ export declare namespace API {
|
|
|
2422
2426
|
* is refused with 400.
|
|
2423
2427
|
*/
|
|
2424
2428
|
type OrderListMassPayoutFilter = Record<'mass_payout_id', string>;
|
|
2425
|
-
|
|
2429
|
+
/**
|
|
2430
|
+
* Narrows the feed to the orders a compliance request covers — the same ones as
|
|
2431
|
+
* `transactions` in the request's detail, closed requests included. A single uuid only
|
|
2432
|
+
* (not an array); a non-uuid value is refused with 400.
|
|
2433
|
+
*/
|
|
2434
|
+
type OrderListRfiCaseFilter = Record<'rfi_case_id', string>;
|
|
2435
|
+
type OrderListFilter = OrderListStatusFilter | OrderListOrderTypeFilter | OrderListFromUuidFilter | OrderListToUuidFilter | OrderListMassPayoutFilter | OrderListRfiCaseFilter;
|
|
2426
2436
|
interface Request {
|
|
2427
2437
|
wallet_uuid: string;
|
|
2428
2438
|
offset?: number;
|
package/dist/api/user.js
CHANGED
|
@@ -15,12 +15,12 @@ export const user = {
|
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
verification: {
|
|
18
|
-
// Starts (or moves up) the per-user
|
|
18
|
+
// Starts (or moves up) the per-user KYC level for the requested step and returns the SDK
|
|
19
19
|
// credentials. Resolves 404 when the tenant has no level configured for the step. Step results
|
|
20
20
|
// land on user-data (`identity_verification_status` / `face_verification_status`), so poll
|
|
21
|
-
// `user.userData.get()` after the
|
|
21
|
+
// `user.userData.get()` after the SDK reports completion.
|
|
22
22
|
init: (data) => apiClientV2.postRequest('/user/verification/init', { data }),
|
|
23
|
-
// Re-issues the
|
|
23
|
+
// Re-issues the SDK access token for the level the user is already on; 404 when the user has
|
|
24
24
|
// never been initialized.
|
|
25
25
|
resume: () => apiClientV2.postRequest('/user/verification/resume'),
|
|
26
26
|
},
|