Contents

POST /reserves-attest/$RESERVE_PUB#

Request signed KYC information about the owner of a reserve. This can be used by a reserve owner to include a proof of their identity in invoices.

Request:

The request body must be a ReserveAttestRequest object.

Response:

200 OK:

The exchange responds with a ReserveAttestResponse object.

403 Forbidden:

The TALER_SIGNATURE_WALLET_KYC_DETAILS signature is invalid. This response comes with a standard ErrorDetail response.

404 Not found:

The reserve key does not belong to a reserve known to the exchange.

409 Conflict:

The exchange does not have the requested KYC information.

Details:

interface ReserveAttestRequest {
  // Signature of purpose
  // TALER_SIGNATURE_WALLET_ATTEST_DETAILS over
  // a TALER_WalletReserveAttestRequestSignaturePS.
  reserve_sig: EddsaSignature;

  // Client's time for the request.
  request_timestamp: Timestamp;

  // Array of KYC attributes requested.
  details: string[];
}
interface ReserveAttestResponse {
  // Signature of purpose
  // TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS over
  // a TALER_ExchangeAttestPS.
  exchange_sig: EddsaSignature;

  // Exchange public key used to create the
  // signature.
  exchange_pub: EddsaPublicKey;

  // Time when the exchange created the signature.
  exchange_timestamp: Timestamp;

  // Expiration time for the provided information.
  expiration_time: Timestamp;

  // KYC details (key-value pairs) as requested.
  // The keys will match the elements of the
  // details array from the request.
  attributes: CustomerKycAttributes;
}