taler-docs

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

post-reserves-RESERVE_PUB-attest.rst (2307B)


      1 .. http:post:: /reserves/$RESERVE_PUB/attest
      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:`400 Bad Request`:
     16     The ``$RESERVE_PUB`` is malformed.
     17     This response comes with a standard `ErrorDetail` response with
     18     a code of ``TALER_EC_GENERIC_RESERVE_PUB_MALFORMED``.
     19   :http:statuscode:`403 Forbidden`:
     20     The *TALER_SIGNATURE_WALLET_KYC_DETAILS* signature is invalid.
     21     This response comes with a standard `ErrorDetail` response.
     22   :http:statuscode:`404 Not found`:
     23     The reserve key does not belong to a reserve known to the exchange.
     24   :http:statuscode:`409 Conflict`:
     25     The exchange does not have the requested KYC information.
     26   :http:statuscode:`413 Request entity too large`:
     27     The uploaded body is to long, it exceeds the size limit.
     28     Returned with an error code of
     29     ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
     30 
     31   **Details:**
     32 
     33   .. ts:def:: ReserveAttestRequest
     34 
     35     interface ReserveAttestRequest {
     36       // Signature of purpose
     37       // ``TALER_SIGNATURE_WALLET_ATTEST_DETAILS`` over
     38       // a `TALER_WalletReserveAttestRequestSignaturePS`.
     39       reserve_sig: EddsaSignature;
     40 
     41       // Client's time for the request.
     42       request_timestamp: Timestamp;
     43 
     44       // Array of KYC attributes requested.
     45       details: string[];
     46     }
     47 
     48   .. ts:def:: ReserveAttestResponse
     49 
     50     interface ReserveAttestResponse {
     51       // Signature of purpose
     52       // ``TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS`` over
     53       // a `TALER_ExchangeAttestPS`.
     54       exchange_sig: EddsaSignature;
     55 
     56       // Exchange public key used to create the
     57       // signature.
     58       exchange_pub: EddsaPublicKey;
     59 
     60       // Time when the exchange created the signature.
     61       exchange_timestamp: Timestamp;
     62 
     63       // Expiration time for the provided information.
     64       expiration_time: Timestamp;
     65 
     66       // KYC details (key-value pairs) as requested.
     67       // The keys will match the elements of the
     68       // ``details`` array from the request.
     69       attributes: CustomerKycAttributes;
     70     }