squarefi-bff-api-module 1.36.102 → 1.36.104
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.
|
@@ -2896,6 +2896,19 @@ export interface paths {
|
|
|
2896
2896
|
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
2897
2897
|
};
|
|
2898
2898
|
};
|
|
2899
|
+
/** @description `CARDHOLDER_REFUSED` — no card can be issued on this cardholder; anything charged was returned. Either the card
|
|
2900
|
+
* issuer refused the person, or the cardholder does not qualify: no email, not submitted, short of the program's
|
|
2901
|
+
* KYC requirements, or their identity review came back rejected; `message` says which. A review still in
|
|
2902
|
+
* progress is not a refusal: it answers `400 INVALID_REQUEST`.
|
|
2903
|
+
* */
|
|
2904
|
+
422: {
|
|
2905
|
+
headers: {
|
|
2906
|
+
[name: string]: unknown;
|
|
2907
|
+
};
|
|
2908
|
+
content: {
|
|
2909
|
+
"application/json": components["schemas"]["ApiErrorResponse"];
|
|
2910
|
+
};
|
|
2911
|
+
};
|
|
2899
2912
|
/** @description Internal Server Error */
|
|
2900
2913
|
500: {
|
|
2901
2914
|
headers: {
|
|
@@ -3500,7 +3500,11 @@ export interface paths {
|
|
|
3500
3500
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
3501
3501
|
};
|
|
3502
3502
|
};
|
|
3503
|
-
/** @description `CARDHOLDER_REFUSED` —
|
|
3503
|
+
/** @description `CARDHOLDER_REFUSED` — no card can be issued on this cardholder; anything charged was returned. Either the card
|
|
3504
|
+
* issuer refused the person, or the cardholder does not qualify: no email, not submitted, short of the program's
|
|
3505
|
+
* KYC requirements, or their identity review came back rejected; `message` says which. A review still in
|
|
3506
|
+
* progress is not a refusal: it answers `400 INVALID_REQUEST`.
|
|
3507
|
+
* */
|
|
3504
3508
|
422: {
|
|
3505
3509
|
headers: {
|
|
3506
3510
|
[name: string]: unknown;
|
|
@@ -6174,10 +6178,11 @@ export interface paths {
|
|
|
6174
6178
|
* KYC entity and the program's card form, not from the profile statuses: `CAN_CREATE` when the
|
|
6175
6179
|
* form is complete, with nothing in `will_require`; `NEEDS_CARD_FORM` with `will_require` = the
|
|
6176
6180
|
* 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
|
|
6178
|
-
*
|
|
6179
|
-
*
|
|
6180
|
-
*
|
|
6181
|
+
* `email`, `phone`), `NEEDS_VERIFICATION` while the level needs the identity check and it is not
|
|
6182
|
+
* started or has to be redone, `REJECTED` for an application refused for good, `PENDING` while that
|
|
6183
|
+
* check is under review at the identity provider (nothing to do but wait; the create is refused until it passes),
|
|
6184
|
+
* while compliance untangles several personal entities of the member or while every required
|
|
6185
|
+
* field is answered but some wait in a submission under review. A member without a personal entity is
|
|
6181
6186
|
* `NEEDS_CARD_FORM` with every required field of the form in `will_require` — or
|
|
6182
6187
|
* `NEEDS_VERIFICATION` when the level needs the identity check, which such a member has not passed.
|
|
6183
6188
|
*
|
|
@@ -16808,7 +16813,7 @@ export interface paths {
|
|
|
16808
16813
|
get?: never;
|
|
16809
16814
|
/**
|
|
16810
16815
|
* Save the draft of a form
|
|
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.
|
|
16816
|
+
* @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 an option chosen together with another one while it excludes the others (`options[].exclusive` of a `multi_enum` field), 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.
|
|
16812
16817
|
*/
|
|
16813
16818
|
put: {
|
|
16814
16819
|
parameters: {
|
|
@@ -17084,7 +17089,7 @@ export interface paths {
|
|
|
17084
17089
|
put?: never;
|
|
17085
17090
|
/**
|
|
17086
17091
|
* Send a form
|
|
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.
|
|
17092
|
+
* @description The form is the one `rails` and `programs` name. The full check of every open field (all errors in one `VALIDATION_ERROR`, an option chosen together with another one that `options[].exclusive` says it excludes included), 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.
|
|
17088
17093
|
*/
|
|
17089
17094
|
post: {
|
|
17090
17095
|
parameters: {
|
|
@@ -20919,7 +20924,7 @@ export interface components {
|
|
|
20919
20924
|
saved: boolean;
|
|
20920
20925
|
};
|
|
20921
20926
|
/**
|
|
20922
|
-
* @description One item of a `list` field (`beneficial_owners`): an object keyed by the `item.fields[].key` of the field, each value shaped by that item field's `type` (an item field never takes files). `id` is set on a row already saved in the KYC entity (for an owner, the `owner_id` of the owner routes); send it back to keep the row, leave it out for a new one. A saved row is the entity's: the client never removes it — a list (or a draft's list, an empty or `null` one included) without an `id` the form gave is refused with `VALIDATION_ERROR` on the list key, «A saved beneficial owner cannot be removed; contact support»; compliance removes one. Nor does its `owner_type` change, nor is a saved value of it cleared (sent empty: `VALIDATION_ERROR` on the item field, «A saved value cannot be cleared; correct it or contact support»; left out of the item: kept). On a `returned` form the client corrects the other values of the item fields the form asks; outside a return a changed saved value is refused (`VALIDATION_ERROR`, «A saved value cannot be changed; contact support»). Messages come in the language of the form. Do not offer to delete an item with an `id`, nor to change its type.
|
|
20927
|
+
* @description One item of a `list` field (`beneficial_owners`): an object keyed by the `item.fields[].key` of the field, each value shaped by that item field's `type` (an item field never takes files). `id` is set on a row already saved in the KYC entity (for an owner, the `owner_id` of the owner routes); send it back to keep the row, leave it out for a new one. A saved row is the entity's: the client never removes it — a list (or a draft's list, an empty or `null` one included) without an `id` the form gave is refused with `VALIDATION_ERROR` on the list key, «A saved beneficial owner cannot be removed; contact support»; compliance removes one. Nor does its `owner_type` change, nor is a saved value of it cleared (sent empty: `VALIDATION_ERROR` on the item field, «A saved value cannot be cleared; correct it or contact support»; left out of the item: kept). On a `returned` form the client corrects the other values of the item fields the form asks; outside a return a changed saved value is refused (`VALIDATION_ERROR`, «A saved value cannot be changed; contact support»). Messages come in the language of the form. Do not offer to delete an item with an `id`, nor to change its type. An item with `owner_type: business` requires `corporate_name`, `corporate_country` and `corporate_registration_number` (the form marks them `required` on the item fields): without them the identity provider cannot set the company up, so the submission is refused with `VALIDATION_ERROR` on the item field.
|
|
20923
20928
|
* @example {
|
|
20924
20929
|
* "id": "2d7c1b9e-4f30-4a8c-9e21-7b6a5c4d3e2f",
|
|
20925
20930
|
* "owner_type": "individual",
|
|
@@ -21000,6 +21005,11 @@ export interface components {
|
|
|
21000
21005
|
* @example 50000
|
|
21001
21006
|
*/
|
|
21002
21007
|
numeric?: number;
|
|
21008
|
+
/**
|
|
21009
|
+
* @description Present only on a `multi_enum` option that cannot be chosen with another one: alone it is accepted, together with others the draft and the submission answer `400 VALIDATION_ERROR` on the field (`details.fields[key]`) with «This option cannot be combined with others» in the language of the form; today `NONE` of `engage_in_activities`. The other options do not carry the field.
|
|
21010
|
+
* @example true
|
|
21011
|
+
*/
|
|
21012
|
+
exclusive?: boolean;
|
|
21003
21013
|
}[];
|
|
21004
21014
|
/** @description `file` fields only. */
|
|
21005
21015
|
file?: {
|
|
@@ -21194,7 +21204,7 @@ export interface components {
|
|
|
21194
21204
|
entity_type: "individual" | "business";
|
|
21195
21205
|
status: components["schemas"]["KycFormsEntityStatus"];
|
|
21196
21206
|
/**
|
|
21197
|
-
* @description Build the screen by this, not by `status`. `not_required` — the tenant asks nothing of this client type (`base_form` is null); `not_started` — the base form was not started; `incomplete` — a draft exists; `action_required` — the client's move: pass the identity check (`next_step: verification`), or, for a business, get the owners through theirs (`next_step: owners`); `in_review` — the identity provider or compliance is looking; `resubmit` — returned by compliance, the form is open again with `submission.comment` (open it with `base_form.target`); `on_hold` — frozen by compliance; `verified` — approved; `expired` — no activity on the application for over three months: a passed identity check brings it back (`next_step: verification`), then compliance looks again; `rejected` — refused, the form is read-only; `offboarded` — compliance ended the relationship, final; `unknown` — a status this contract does not know. The stage of each `status`: `APPROVED` → `verified`; `REJECT`, `DECLINED`, `DOUBLE` → `rejected`; `OFFBOARDED` → `offboarded`; `EXPIRED` → `expired`; `HOLD` → `on_hold`; `WAITING_ON_REVIEW` → `in_review`; `NEEDS_ATTENTION` → `resubmit`; `WAITING_ON_UBOS` → `action_required` while an owner other than the filler's row has a check to start, finish or redo
|
|
21207
|
+
* @description Build the screen by this, not by `status`. `not_required` — the tenant asks nothing of this client type (`base_form` is null); `not_started` — the base form was not started; `incomplete` — a draft exists; `action_required` — the client's move: pass the identity check (`next_step: verification`), or, for a business, get the owners through theirs (`next_step: owners`); `in_review` — the identity provider or compliance is looking; `resubmit` — returned by compliance, the form is open again with `submission.comment` (open it with `base_form.target`); `on_hold` — frozen by compliance; `verified` — approved; `expired` — no activity on the application for over three months: a passed identity check brings it back (`next_step: verification`), then compliance looks again; `rejected` — refused, the form is read-only; `offboarded` — compliance ended the relationship, final; `unknown` — a status this contract does not know. The stage of each `status`: `APPROVED` → `verified`; `REJECT`, `DECLINED`, `DOUBLE` → `rejected`; `OFFBOARDED` → `offboarded`; `EXPIRED` → `expired`; `HOLD` → `on_hold`; `WAITING_ON_REVIEW` → `in_review`; `NEEDS_ATTENTION` → `resubmit`; `WAITING_ON_UBOS` → `action_required` with `next_step: verification` while the filler's own check is asked again (`verification.applicant.state: retry`; it comes before the owners, as they cannot finish without it, and an admin of the wallet reading sees `waiting_on: applicant`, `next_step: wait`), else `action_required` with `next_step: owners` while an owner other than the filler's row has a check to start, finish or redo, else `in_review` (also when the filler's check is with the provider or an owner's declared data does not match the document); `UNVERIFIED`, `PENDING`, `SOFT_REJECT` → by the base form and the identity check: `not_required` (no base form), `not_started`, `incomplete` (a draft), `action_required` (the check is the move), `in_review` (sent, with compliance or the provider), `resubmit` (the latest submission was returned) — the forms flow never sets `SOFT_REJECT`, one left by the old flow shows the screen of its form like `PENDING`; `PROCESSING` → `unknown` (the forms flow never sets it, an old-flow vendor sync may leave it).
|
|
21198
21208
|
* @enum {string}
|
|
21199
21209
|
*/
|
|
21200
21210
|
stage: "not_required" | "not_started" | "incomplete" | "action_required" | "in_review" | "resubmit" | "on_hold" | "verified" | "expired" | "rejected" | "offboarded" | "unknown";
|
|
@@ -21526,7 +21536,7 @@ export interface components {
|
|
|
21526
21536
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
21527
21537
|
};
|
|
21528
21538
|
};
|
|
21529
|
-
/** @description `VALIDATION_ERROR` — field errors in `details.fields[key] = [message]` (on a business form the owner list the KYC tables refuse, and owner shares adding up to more than 100%, come back under `beneficial_owners`; a saved beneficial owner (an item with an `id`) left out of the list — an empty or `null` list included — comes back under `beneficial_owners`, a saved value of it changed outside a `returned` form, or sent empty, under `beneficial_owners[i].<field>`, and nothing is saved; a value sent for a field whose condition reads a source left empty or wrong comes back as the error of the source, e.g. `beneficial_owners[0].role`), or a message only for a malformed body (`schema_version` missing or longer than 64, `values` not an object) and a path id that is not a uuid; `FORM_FIELD_NOT_ALLOWED` — a key the form does not accept (unknown, locked, hidden, a file field), `details.fields = [key]`, the whole request refused; `FORM_TARGET_UNSUPPORTED` — a card program named on a business entity; `INVALID_REQUEST` — `wallet_id` missing for a form over card programs; `KYC_BASE_BINDING_MISSING` — the tenant has no base form for this client type; `KYC_FORMS_NOT_ENABLED` — the tenant is not on the forms flow */
|
|
21539
|
+
/** @description `VALIDATION_ERROR` — field errors in `details.fields[key] = [message]` (on a business form the owner list the KYC tables refuse, and owner shares adding up to more than 100%, come back under `beneficial_owners`; a saved beneficial owner (an item with an `id`) left out of the list — an empty or `null` list included — comes back under `beneficial_owners`, a saved value of it changed outside a `returned` form, or sent empty, under `beneficial_owners[i].<field>`, and nothing is saved; a value sent for a field whose condition reads a source left empty or wrong comes back as the error of the source, e.g. `beneficial_owners[0].role`; a `multi_enum` field with an option that excludes the others (`options[].exclusive`) chosen together with another one comes back under the field, on the draft too), or a message only for a malformed body (`schema_version` missing or longer than 64, `values` not an object) and a path id that is not a uuid; `FORM_FIELD_NOT_ALLOWED` — a key the form does not accept (unknown, locked, hidden, a file field), `details.fields = [key]`, the whole request refused; `FORM_TARGET_UNSUPPORTED` — a card program named on a business entity; `INVALID_REQUEST` — `wallet_id` missing for a form over card programs; `KYC_BASE_BINDING_MISSING` — the tenant has no base form for this client type; `KYC_FORMS_NOT_ENABLED` — the tenant is not on the forms flow */
|
|
21530
21540
|
KycFormsFieldErrors: {
|
|
21531
21541
|
headers: {
|
|
21532
21542
|
[name: string]: unknown;
|
|
@@ -1381,8 +1381,10 @@ export declare namespace API {
|
|
|
1381
1381
|
/**
|
|
1382
1382
|
* An ACTIVE cardholder is linked (`cardholder_id`), but it does not hold what the
|
|
1383
1383
|
* program's ISSUANCE bar asks for — typically one written before that bar existed.
|
|
1384
|
-
* Creating a card now is refused with `
|
|
1385
|
-
*
|
|
1384
|
+
* Creating a card now is refused with `422 CARDHOLDER_REFUSED`, whose `message` lists
|
|
1385
|
+
* the same missing fields as `will_require`. The refusal holds for the cardholder as
|
|
1386
|
+
* it is: once completed, the same cardholder can get the card. Nothing is submitted
|
|
1387
|
+
* again: `PATCH` the fields, and for the
|
|
1386
1388
|
* document photos call `POST /cardholders` with the member's `user_data_id` — it
|
|
1387
1389
|
* answers `409` with this `cardholder_id` after completing the row from the
|
|
1388
1390
|
* member's KYC dossier. When the member has not passed that verification, run it first.
|