get-aml-OFFICER_PUB-attributes-H_NORMALIZED_PAYTO.rst (3159B)
1 .. http:get:: /aml/$OFFICER_PUB/attributes/$H_NORMALIZED_PAYTO 2 3 Obtain attributes obtained as part of AML/KYC processes for a 4 given account. 5 6 This endpoint was introduced in protocol **v20**. 7 8 **Request:** 9 10 *Accept*: 11 The client may specify the desired MIME-type for the result. 12 Supported are the usual "application/json", but also 13 "application/pdf". 14 15 *Taler-AML-Officer-Signature*: 16 The client must provide Base-32 encoded EdDSA signature with 17 ``$OFFICER_PRIV``, affirming the desire to obtain AML data. Note that 18 this is merely a simple authentication mechanism, the details of the 19 request are not protected by the signature. 20 21 :query limit: 22 *Optional*. takes value of the form ``N (-N)``, so that at 23 most ``N`` values strictly older (younger) than ``start`` are returned. 24 Defaults to ``-20`` to return the last 20 entries (before ``start``). 25 :query offset: 26 *Optional*. Row number threshold, see ``delta`` for its 27 interpretation. Defaults to ``INT64_MAX``, namely the biggest row id 28 possible in the database. 29 30 **Response:** 31 32 :http:statuscode:`200 OK`: 33 The responds will be an `KycAttributes` message. 34 :http:statuscode:`204 No content`: 35 There are no matching KYC attributes. 36 :http:statuscode:`403 Forbidden`: 37 The signature is invalid. 38 :http:statuscode:`404 Not found`: 39 The designated AML account is not known. 40 :http:statuscode:`409 Conflict`: 41 The designated AML account is not enabled. 42 :http:statuscode:`501 Not implemented`: 43 The requested functionality is not implemented. 44 Usually returned if the PDF generator is not available 45 at this backend and the requested format was application/pdf. 46 47 .. ts:def:: KycAttributes 48 49 interface KycAttributes { 50 51 // Matching KYC attribute history of the account. 52 details: KycAttributeCollectionEvent[]; 53 54 } 55 56 .. ts:def:: KycAttributeCollectionEvent 57 58 interface KycAttributeCollectionEvent { 59 60 // Row ID of the record. Used to filter by offset. 61 rowid: Integer; 62 63 // True if the attributes were filed by an AML officer, 64 // otherwise they were provided directly by the customer. 65 by_aml_officer: boolean; 66 67 // The collected KYC data. NULL if the attribute data could not 68 // be decrypted (internal error of the exchange, likely the 69 // attribute key was changed). 70 attributes?: CustomerKycAttributes; 71 72 // Time when the KYC data was collected 73 collection_time: Timestamp; 74 75 } 76 77 .. ts:def:: CustomerKycAttributes 78 79 interface CustomerKycAttributes { 80 81 // ID of the Form that was used to submit the attributes and/or 82 // that should be used to *render* the attributes. 83 // Mandatory since **v31**. 84 FORM_ID: string; 85 86 // Version of the form completed by the user. 87 FORM_VERSION?: Integer; 88 89 // High entropy value used in forms where hash is going to be stored in 90 // plain text. 91 FORM?_SALT: string; 92 93 // Attributes can have basically arbitrary additional 94 // Key-value pairs. See the 95 // gnu-taler-form-attributes registry in GANA 96 // for possible keys! 97 98 }