commit 20614533378d81e52e08eea34d8049900fad0a47
parent b4ac2c99bad9b3371bdd72ca1133a7ed717c99ad
Author: Christian Grothoff <christian@grothoff.org>
Date: Sun, 4 Aug 2024 17:29:47 +0200
updated docs to match latest changes
Diffstat:
2 files changed, 47 insertions(+), 29 deletions(-)
diff --git a/core/api-exchange.rst b/core/api-exchange.rst
@@ -1612,12 +1612,6 @@ and freeze or unfreeze accounts suspected of money laundering.
// measure?
expiration_time: Timestamp;
- // New check to provide to the user. Should
- // typically be used to give the user some
- // information or request additional information.
- // Must not be "skip".
- new_check?: String;
-
// Name of the measure to apply when the expiration time is
// reached. If not set, we refer to the default
// set of rules (and the default account state).
@@ -1765,10 +1759,9 @@ and freeze or unfreeze accounts suspected of money laundering.
:http:statuscode:`204 No content`:
The AML decision has been executed and recorded successfully.
:http:statuscode:`403 Forbidden`:
- The signature is invalid.
+ The signature is invalid (or the AML officer not known).
:http:statuscode:`404 Not found`:
- The address the decision was made upon is unknown to the exchange or
- the designated AML account is not known.
+ The payto-address the decision was made for is unknown to the exchange.
:http:statuscode:`409 Conflict`:
The designated AML account is not enabled or a more recent
decision was already submitted.
@@ -1794,6 +1787,15 @@ and freeze or unfreeze accounts suspected of money laundering.
// New since protocol **v20**.
properties: AccountProperties;
+ // New measure to apply immediately to the account.
+ // Should typically be used to give the user some
+ // information or request additional information.
+ // Use "verboten" to communicate to the customer
+ // that there is no KYC check that could be passed
+ // to modify the ``new_rules``.
+ // New since protocol **v20**.
+ new_measure?: String;
+
// True if the account should remain under investigation by AML staff.
// New since protocol **v20**.
keep_investigating: boolean;
diff --git a/core/api-merchant.rst b/core/api-merchant.rst
@@ -1410,14 +1410,14 @@ KYC status checks
The user should be redirected to the provided locations to perform
the required KYC checks to open an account. Afterwards, the
request should be repeated.
- The response will be an `AccountKycRedirects` object.
+ The response will be a `MerchantAccountKycRedirectsResponse` object.
:http:statuscode:`204 No content`:
All KYC operations queried have succeeded. This may change in the
future, but there is no need to check again soon. It is suggested
to check again at a frequency of hours or days.
:http:statuscode:`502 Bad gateway`:
We failed to obtain a response from an exchange (about the KYC status).
- The response will be an `AccountKycRedirects` object.
+ The response will be a `MerchantAccountKycRedirectsResponse` object.
:http:statuscode:`503 Service unavailable`:
We do not know our KYC status as the exchange has not yet
returned the necessary details. This is not an actual failure:
@@ -1432,9 +1432,9 @@ KYC status checks
**Details:**
- .. ts:def:: AccountKycRedirects
+ .. ts:def:: MerchantAccountKycRedirectsResponse
- interface AccountKycRedirects {
+ interface MerchantAccountKycRedirectsResponse {
// Array of pending KYCs.
pending_kycs: MerchantAccountKycRedirect[];
@@ -1445,25 +1445,41 @@ KYC status checks
.. ts:def:: MerchantAccountKycRedirect
- interface MerchantAccountKycRedirect {
+ interface MerchantAccountKycRedirect {
+
+ // URL that the user should open in a browser to
+ // proceed with the KYC process (as returned
+ // by the exchange's ``/kyc-check/`` endpoint).
+ // Optional, missing if the account is blocked
+ // due to AML and not due to KYC.
+ kyc_url?: string;
+
+ // Array with limitations that currently apply to this
+ // account and that may be increased or lifted if the
+ // KYC check is passed.
+ // Note that additional limits *may* exist and not be
+ // communicated to the client. If such limits are
+ // reached, this *may* be indicated by the account
+ // going into ``aml_review`` state. However, it is
+ // also possible that the exchange may legally have
+ // to deny operations without being allowed to provide
+ // any justification.
+ // The limits should be used by the client to
+ // possibly structure their operations (e.g. withdraw
+ // what is possible below the limit, ask the user to
+ // pass KYC checks or withdraw the rest after the time
+ // limit is passed, warn the user to not withdraw too
+ // much or even prevent the user from generating a
+ // request that would cause it to exceed hard limits).
+ limits?: AccountLimit[];
- // URL that the user should open in a browser to
- // proceed with the KYC process (as returned
- // by the exchange's ``/kyc-check/`` endpoint).
- // Optional, missing if the account is blocked
- // due to AML and not due to KYC.
- kyc_url?: string;
-
- // AML status of the account.
- aml_status: Integer;
-
- // Base URL of the exchange this is about.
- exchange_url: string;
+ // Base URL of the exchange this is about.
+ exchange_url: string;
- // Our bank wire account this is about.
- payto_uri: string;
+ // Our bank wire account this is about.
+ payto_uri: string;
- }
+ }
.. ts:def:: ExchangeKycTimeout