post-reserves-attest-RESERVE_PUB.rst (1910B)
1 .. http:post:: /reserves-attest/$RESERVE_PUB 2 3 Request signed KYC information about the owner of a reserve. 4 This can be used by a reserve owner to include a proof 5 of their identity in invoices. 6 7 **Request:** 8 9 The request body must be a `ReserveAttestRequest` object. 10 11 **Response:** 12 13 :http:statuscode:`200 OK`: 14 The exchange responds with a `ReserveAttestResponse` object. 15 :http:statuscode:`403 Forbidden`: 16 The *TALER_SIGNATURE_WALLET_KYC_DETAILS* signature is invalid. 17 This response comes with a standard `ErrorDetail` response. 18 :http:statuscode:`404 Not found`: 19 The reserve key does not belong to a reserve known to the exchange. 20 :http:statuscode:`409 Conflict`: 21 The exchange does not have the requested KYC information. 22 23 **Details:** 24 25 .. ts:def:: ReserveAttestRequest 26 27 interface ReserveAttestRequest { 28 // Signature of purpose 29 // ``TALER_SIGNATURE_WALLET_ATTEST_DETAILS`` over 30 // a `TALER_WalletReserveAttestRequestSignaturePS`. 31 reserve_sig: EddsaSignature; 32 33 // Client's time for the request. 34 request_timestamp: Timestamp; 35 36 // Array of KYC attributes requested. 37 details: string[]; 38 } 39 40 .. ts:def:: ReserveAttestResponse 41 42 interface ReserveAttestResponse { 43 // Signature of purpose 44 // ``TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS`` over 45 // a `TALER_ExchangeAttestPS`. 46 exchange_sig: EddsaSignature; 47 48 // Exchange public key used to create the 49 // signature. 50 exchange_pub: EddsaPublicKey; 51 52 // Time when the exchange created the signature. 53 exchange_timestamp: Timestamp; 54 55 // Expiration time for the provided information. 56 expiration_time: Timestamp; 57 58 // KYC details (key-value pairs) as requested. 59 // The keys will match the elements of the 60 // ``details`` array from the request. 61 attributes: CustomerKycAttributes; 62 }