Contents

POST /kyc-start/$ID#

The /kyc-start/$ID POST endpoint allows the SPA to set up a new external KYC process. It will return the URL that the client must GET to begin the KYC process. The SPA should probably open this URL in a new window or tab. The $ID will be provided as part of the /kyc-info body. In practice, $ID will encode the $ACCESS_TOKEN, legitimization measure serial ID (to disambiguate) and the index of the selected measure (but these details should be irrelevant for the client).

Request:

Use empty JSON body for now.

Response:

200 Ok:

The KYC process was successfully initiated. The URL is in a KycProcessStartInformation object.

400 Bad Request:

The request body is malformed or a parameter is invalid. This response comes with a standard ErrorDetail response with a code of TALER_EC_GENERIC_PARAMETER_MALFORMED.

404 Not Found:

The $ID is unknown to the exchange.

409 Conflict:

The KYC form has already been uploaded or the KYC logic is invalid. This response comes with a standard ErrorDetail response with a code of TALER_EC_EXCHANGE_KYC_FORM_ALREADY_UPLOADED or TALER_EC_EXCHANGE_KYC_INVALID_LOGIC_TO_CHECK.

413 Request entity too large:

The uploaded body is to long, it exceeds the size limit. Returned with an error code of TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT.

500 Internal Server Error:

The server had an internal problem processing the request. Returned with error codes of: - TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_BUG - TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE - TALER_EC_GENERIC_DB_FETCH_FAILED - TALER_EC_GENERIC_DB_STORE_FAILED

Details:

interface KycProcessStartInformation {

  // URL to open.
  redirect_url: string;
}

Note

As this endpoint is involved in every KYC check at the beginning, this is also the place where we could integrate the payment process for the KYC fee in the future (since protocol vATTEST).