taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

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     }