post-accounts-USERNAME-challenge-CHALLENGE_ID.rst (1944B)
1 .. http:post:: /accounts/$USERNAME/challenge/$CHALLENGE_ID 2 3 Send TAN code for the ``CHALLENGE_ID`` challenge. 4 5 This request can be posted again to trigger TAN retransmission only while 6 the challenge is unsolved, unexpired and still has confirmation attempts 7 remaining. The client must wait until ``earliest_retransmission`` before 8 requesting another delivery. 9 10 Expiration and exhaustion of confirmation attempts are terminal for the 11 challenge ID. They do not create a new TAN and cannot be recovered by 12 retransmission. The client must repeat the original protected operation to 13 obtain a fresh challenge set. 14 15 This endpoint is not authenticated. @since **v10** 16 17 **Request:** 18 19 The request body must be empty. 20 21 **Response:** 22 23 :http:statuscode:`200 Ok`: 24 The TAN code has been sent. The body will be a `ChallengeRequestResponse`. 25 :http:statuscode:`404 Not Found`: 26 * ``TALER_EC_BANK_TRANSACTION_NOT_FOUND``: the challenge ID was not found. 27 * ``TALER_EC_BANK_TAN_CHALLENGE_EXPIRED``: the challenge has expired or 28 exhausted its confirmation attempts and is terminal. 29 :http:statuscode:`410 Gone`: 30 The challenge was already solved. 31 :http:statuscode:`429 Too many requests`: 32 Too many challenges are active right now, you must wait or confirm current challenges. 33 :http:statuscode:`502 Bad Gateway`: 34 * ``TALER_EC_BANK_TAN_CHANNEL_SCRIPT_FAILED``: the configured delivery 35 script failed. Delivery was not confirmed; the client may retry while 36 the challenge remains live and the retransmission policy permits it. 37 38 **Details:** 39 40 .. ts:def:: ChallengeRequestResponse 41 42 interface ChallengeRequestResponse { 43 // How long does the client have to solve the 44 // challenge. 45 solve_expiration: Timestamp; 46 47 // What is the earliest time at which the client 48 // may request a new challenge to be transmitted? 49 earliest_retransmission: Timestamp; 50 }