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 }