Contents

POST [/instances/$INSTANCE]/challenge/$CHALLENGE_ID#

Send TAN code for the CHALLENGE_ID challenge.

This request can be posted several times to trigger TAN retransmission when the current code has expired or too many confirmation attempts have been made.

This endpoint is not authenticated, it may be used even when mandatory TAN channels were not validated yet.

@since v21

Request:

The request body must be a JSON object, but can otherwise be empty (so just send ‘{}’).

Response:

200 Ok:

The TAN code has been sent. The body will be a ChallengeRequestResponse.

404 Not Found:

The challenge was not found. Returned with TALER_EC_MERCHANT_TAN_CHALLENGE_UNKNOWN.

410 Gone:

The challenge was already solved. Returned with TALER_EC_MERCHANT_TAN_CHALLENGE_SOLVED.

429 Too many requests:

Too many challenges are active right now, you must wait or confirm current challenges. Returned with TALER_EC_MERCHANT_TAN_TOO_EARLY.

502 Bad Gateway:

TAN transmition via tan_channel failed. Returned with TALER_EC_MERCHANT_MFA_HELPER_EXEC_FAILED.

Details:

interface ChallengeRequestResponse {
  // How long does the client have to solve the
  // challenge.
  solve_expiration: Timestamp;

  // What is the earlist time at which the client
  // may request a new challenge to be transmitted?
  earliest_retransmission: Timestamp;
}