taler-docs

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

post-management-auditors-AUDITOR_PUB-disable.rst (2334B)


      1 .. http:post:: /management/auditors/$AUDITOR_PUB/disable
      2 
      3   This request will be used to disable the use of the given auditor.
      4   We use POST instead of DELETE because the exchange will retain state
      5   about the auditor (specifically the end date) to prevent replay
      6   attacks abusing the `AuditorSetupMessage`.  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 `AuditorTeardownMessage`.
     13 
     14   **Response**
     15 
     16   :http:statuscode:`204 No content`:
     17     The auditor has successfully disabled the auditor. The body is empty.
     18   :http:statuscode:`403 Forbidden`:
     19     The signature is invalid.
     20     Returned with an error code of
     21     ``TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_DEL_SIGNATURE_INVALID``,
     22   :http:statuscode:`404 Not found`:
     23     The auditor is unknown to the exchange.
     24     Returned with an error code of
     25     ``TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_NOT_FOUND``.
     26   :http:statuscode:`409 Conflict`:
     27     The exchange has a more recent request related to this auditor key (replay detected).
     28     Returned with an error code of
     29     ``TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_MORE_RECENT_PRESENT``.
     30   :http:statuscode:`413 Request entity too large`:
     31     The uploaded body is to long, it exceeds the size limit.
     32     Returned with an error code of
     33     ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
     34   :http:statuscode:`500 Internal Server Error`:
     35     The server experienced an internal error.
     36     This response comes with a standard `ErrorDetail` response.
     37     Possible error codes include
     38     ``TALER_EC_GENERIC_DB_FETCH_FAILED`` or
     39     ``TALER_EC_GENERIC_DB_STORE_FAILED``.
     40 
     41   **Details:**
     42 
     43   .. ts:def:: AuditorTeardownMessage
     44 
     45     interface AuditorTeardownMessage {
     46 
     47       // Signature by the exchange master key over a
     48       // `TALER_MasterDelAuditorPS`.
     49       // Must have purpose ``TALER_SIGNATURE_MASTER_AUDITOR_DEL``.
     50       master_sig: EddsaSignature;
     51 
     52       // When does the auditor become inactive?
     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 auditor will
     57       // become inactive immediately! Used ONLY to detect replay attacks.
     58       validity_end: Timestamp;
     59 
     60     }