commit 294a089868f470ae8b03d1d3c577fd4878470d50
parent e0062e59ac3eaa2949455855800714af4b63a7a5
Author: Christian Grothoff <christian@grothoff.org>
Date: Sun, 14 Dec 2025 14:27:57 +0100
introduce CustomerKycAttributes with mandatory FORM_ID, for #10757
Diffstat:
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/core/api-exchange.rst b/core/api-exchange.rst
@@ -6154,13 +6154,36 @@ and freeze or unfreeze accounts suspected of money laundering.
// The collected KYC data. NULL if the attribute data could not
// be decrypted (internal error of the exchange, likely the
// attribute key was changed).
- attributes?: Object;
+ attributes?: CustomerKycAttributes;
// Time when the KYC data was collected
collection_time: Timestamp;
}
+ .. ts:def:: CustomerKycAttributes
+
+ interface CustomerKycAttributes {
+
+ // ID of the Form that was used to submit the attributes and/or
+ // that should be used to *render* the attributes.
+ // Mandatory since **v31**.
+ FORM_ID: String;
+
+ // Version of the form completed by the user.
+ FORM_VERSION?: Number;
+
+ // High entropy value used in forms where hash is going to be stored in
+ // plain text.
+ FORM?_SALT: String;
+
+ // Attributes can have basically arbitrary additional
+ // Key-value pairs. See the
+ // gnu-taler-form-attributes registry in GANA
+ // for possible keys!
+
+ }
+
.. http:post:: /aml/$OFFICER_PUB/decision
@@ -6244,7 +6267,7 @@ and freeze or unfreeze accounts suspected of money laundering.
// The object *must* contain high-entropy salt,
// as the hash of the attributes will be
// stored in plain text.
- attributes?: Object;
+ attributes?: CustomerKycAttributes;
// Expiration timestamp of the attributes.
// Mandatory if attributes are present.
@@ -6570,7 +6593,7 @@ designated account.
// KYC details (key-value pairs) as requested.
// The keys will match the elements of the
// ``details`` array from the request.
- attributes: Object;
+ attributes: CustomerKycAttributes;
}