taler-docs

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

post-auditors-AUDITOR_PUB-H_DENOM_PUB.rst (2893B)


      1 .. http:post:: /auditors/$AUDITOR_PUB/$H_DENOM_PUB
      2 
      3   This is used to add an auditor signature to the ``/keys`` response. It
      4   affirms to wallets and merchants that this auditor is indeed auditing
      5   the coins issued by the respective denomination.  There is no "delete"
      6   operation for this, as auditors can only stop auditing a denomination
      7   when it expires.
      8 
      9   **Request:**
     10 
     11   The request must be a `AuditorSignatureAddMessage`.
     12 
     13   **Response:**
     14 
     15   :http:statuscode:`204 No content`:
     16     The backend has successfully stored the auditor signature.
     17   :http:statuscode:`403 Forbidden`:
     18     The auditor signature is invalid.
     19     This response comes with a standard `ErrorDetail` response with
     20     a code of ``TALER_EC_EXCHANGE_AUDITORS_AUDITOR_SIGNATURE_INVALID``.
     21   :http:statuscode:`404 Not found`:
     22     The denomination key for which the auditor is providing a signature is unknown.
     23     The response will be a `DenominationUnknownMessage`.
     24   :http:statuscode:`410 Gone`:
     25     This auditor is no longer supported by the exchange.
     26     This response comes with a standard `ErrorDetail` response with
     27     a code of ``TALER_EC_EXCHANGE_AUDITORS_AUDITOR_INACTIVE``.
     28   :http:statuscode:`412 Precondition failed`:
     29     This auditor is not yet known to the exchange.
     30     This response comes with a standard `ErrorDetail` response with
     31     a code of ``TALER_EC_EXCHANGE_AUDITORS_AUDITOR_UNKNOWN``.
     32     FIXME: probably should be changed to a 404!
     33   :http:statuscode:`413 Request entity too large`:
     34     The uploaded body is to long, it exceeds the size limit.
     35     Returned with an error code of
     36     ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
     37   :http:statuscode:`500 Internal Server Error`:
     38     The server experienced an internal error.
     39     This response comes with a standard `ErrorDetail` response.
     40     Possible error codes include
     41     ``TALER_EC_GENERIC_DB_FETCH_FAILED`` or
     42     ``TALER_EC_GENERIC_DB_STORE_FAILED``.
     43 
     44   **Details:**
     45 
     46   .. ts:def:: DenominationUnknownMessage
     47 
     48     interface DenominationUnknownMessage {
     49 
     50       // Taler error code
     51       // ``TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN``
     52       code: Integer;
     53 
     54       // Signature by the exchange over a
     55       // `TALER_DenominationUnknownAffirmationPS`.
     56       // Must have purpose ``TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN``.
     57       exchange_sig: EddsaSignature;
     58 
     59       // Public key of the exchange used to create
     60       // the 'exchange_sig.
     61       exchange_pub: EddsaPublicKey;
     62 
     63       // Hash of the denomination public key that is unknown.
     64       h_denom_pub: HashCode;
     65 
     66       // When was the signature created.
     67       timestamp: Timestamp;
     68 
     69     }
     70 
     71   .. ts:def:: AuditorSignatureAddMessage
     72 
     73     interface AuditorSignatureAddMessage {
     74 
     75       // Signature by the auditor over a
     76       // `TALER_ExchangeKeyValidityPS`.
     77       // Must have purpose ``TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS``.
     78       auditor_sig: EddsaSignature;
     79 
     80     }