taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

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     }