post-challenge-CHALLENGE_ID.rst (1936B)
1 .. http:post:: [/instances/$INSTANCE]/challenge/$CHALLENGE_ID 2 3 Send TAN code for the ``CHALLENGE_ID`` challenge. 4 5 This request can be posted several times to trigger TAN retransmission when 6 the current code has expired or too many confirmation attempts have been 7 made. 8 9 This endpoint is not authenticated, it may be used even when mandatory TAN 10 channels were not validated yet. 11 12 @since **v21** 13 14 **Request:** 15 16 The request body must be a JSON object, but can otherwise be empty 17 (so just send '{}'). 18 19 **Response:** 20 21 :http:statuscode:`200 Ok`: 22 The TAN code has been sent. The body will be a `ChallengeRequestResponse`. 23 :http:statuscode:`404 Not Found`: 24 The challenge was not found. 25 Returned with ``TALER_EC_MERCHANT_TAN_CHALLENGE_UNKNOWN``. 26 :http:statuscode:`410 Gone`: 27 The challenge was already solved. 28 Returned with ``TALER_EC_MERCHANT_TAN_CHALLENGE_SOLVED``. 29 :http:statuscode:`429 Too many requests`: 30 Too many challenges are active right now, 31 you must wait or confirm current challenges. 32 Returned with ``TALER_EC_MERCHANT_TAN_TOO_EARLY``. 33 :http:statuscode:`500 Internal Server Error`: 34 The server experienced an internal failure. 35 Returned with ``TALER_EC_GENERIC_DB_STORE_FAILED``. 36 :http:statuscode:`501 Not Implemented`: 37 The challenge channel (e.g. TOTP) is not yet supported. 38 Returned with ``TALER_EC_GENERIC_FEATURE_NOT_IMPLEMENTED``. 39 :http:statuscode:`502 Bad Gateway`: 40 TAN transmition via ``tan_channel`` failed. 41 Returned with ``TALER_EC_MERCHANT_TAN_MFA_HELPER_EXEC_FAILED``. 42 43 **Details:** 44 45 .. ts:def:: ChallengeRequestResponse 46 47 interface ChallengeRequestResponse { 48 // How long does the client have to solve the 49 // challenge. 50 solve_expiration: Timestamp; 51 52 // What is the earlist time at which the client 53 // may request a new challenge to be transmitted? 54 earliest_retransmission: Timestamp; 55 }