post-management-wire-disable.rst (2358B)
1 .. http:post:: /management/wire/disable 2 3 This request will be used to disable the use of the given wire method. 4 We use POST instead of DELETE because the exchange will retain state 5 about the wire method (specifically the end date) to prevent replay 6 attacks abusing the `WireSetupRequest`. Also, DELETE would not 7 support a body, which is needed to provide the signature authorizing 8 the operation. 9 10 **Request:** 11 12 The request must be a `WireTeardownRequest`. 13 14 **Response:** 15 16 :http:statuscode:`204 No content`: 17 The auditor has successfully disabled the wire method. The body is empty. 18 :http:statuscode:`403 Forbidden`: 19 The signature is invalid. Returned with an error code of 20 ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DEL_SIGNATURE_INVALID``. 21 :http:statuscode:`404 Not found`: 22 The wire method is unknown to the exchange. Returned with an error code 23 of ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_NOT_FOUND``. 24 :http:statuscode:`409 Conflict`: 25 The exchange has a more recent request related to this wire method (replay detected). 26 Returned with an error code of 27 ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_MORE_RECENT_PRESENT``. 28 :http:statuscode:`413 Request entity too large`: 29 The uploaded body is to long, it exceeds the size limit. 30 Returned with an error code of 31 ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``. 32 :http:statuscode:`500 Internal Server Error`: 33 The server experienced an internal error. 34 This response comes with a standard `ErrorDetail` response. 35 Possible error codes include 36 ``TALER_EC_GENERIC_DB_FETCH_FAILED`` or 37 ``TALER_EC_GENERIC_DB_STORE_FAILED``. 38 39 **Details:** 40 41 .. ts:def:: WireTeardownRequest 42 43 interface WireTeardownRequest { 44 45 // Full ``payto://`` URL identifying the account and wire method 46 payto_uri: string; 47 48 // Signature using the exchange's offline key over a 49 // `TALER_MasterDelWirePS`. 50 // with purpose ``TALER_SIGNATURE_MASTER_WIRE_DEL``. 51 master_sig_del: EddsaSignature; 52 53 // Should be the time when the signature was created, 54 // using the (monotonic!) local time of the system 55 // with the offline master public key. Note that 56 // even if the time is in the future, the wire method will 57 // become inactive immediately! Used ONLY to detect replay attacks. 58 validity_end: Timestamp; 59 60 }