Taler HTTP status codes#

TALER_EC_NONE

Value

0

HTTP Status Code

0

Description

Special code to indicate success (no error).

TALER_EC_INVALID

Value

1

HTTP Status Code

0

Description

A non-integer error code was returned in the JSON response.

TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR

Value

2

HTTP Status Code

0

Description

An internal failure happened on the client side.

TALER_EC_GENERIC_INVALID_RESPONSE

Value

10

HTTP Status Code

0

Description

The response we got from the server was not even in JSON format.

TALER_EC_GENERIC_TIMEOUT

Value

11

HTTP Status Code

0

Description

An operation timed out.

TALER_EC_GENERIC_VERSION_MALFORMED

Value

12

HTTP Status Code

0

Description

The version string given does not follow the expected CURRENT:REVISION:AGE Format.

TALER_EC_GENERIC_REPLY_MALFORMED

Value

13

HTTP Status Code

0

Description

The service responded with a reply that was in JSON but did not satsify the protocol. Note that invalid cryptographic signatures should have signature-specific error codes.

TALER_EC_GENERIC_CONFIGURATION_INVALID

Value

14

HTTP Status Code

0

Description

There is an error in the client-side configuration, for example the base URL specified is malformed.

TALER_EC_GENERIC_UNEXPECTED_REQUEST_ERROR

Value

15

HTTP Status Code

0

Description

The client made a request to a service, but received an error response it does not know how to handle.

TALER_EC_GENERIC_TOKEN_PERMISSION_INSUFFICIENT

Value

16

HTTP Status Code

403

Description

The token used by the client to authorize the request does not grant the required permissions for the request.

TALER_EC_GENERIC_METHOD_INVALID

Value

20

HTTP Status Code

405

Description

The HTTP method used is invalid for this endpoint.

TALER_EC_GENERIC_ENDPOINT_UNKNOWN

Value

21

HTTP Status Code

404

Description

There is no endpoint defined for the URL provided by the client.

TALER_EC_GENERIC_JSON_INVALID

Value

22

HTTP Status Code

400

Description

The JSON in the client’s request was malformed (generic parse error).

TALER_EC_GENERIC_HTTP_HEADERS_MALFORMED

Value

23

HTTP Status Code

400

Description

Some of the HTTP headers provided by the client caused the server to not be able to handle the request.

TALER_EC_GENERIC_PAYTO_URI_MALFORMED

Value

24

HTTP Status Code

400

Description

The payto:// URI provided by the client is malformed.

TALER_EC_GENERIC_PARAMETER_MISSING

Value

25

HTTP Status Code

400

Description

A required parameter in the request was missing.

TALER_EC_GENERIC_PARAMETER_MALFORMED

Value

26

HTTP Status Code

400

Description

A parameter in the request was malformed.

TALER_EC_GENERIC_RESERVE_PUB_MALFORMED

Value

27

HTTP Status Code

400

Description

The reserve public key given as part of a /reserves/ endpoint was malformed.

TALER_EC_GENERIC_CURRENCY_MISMATCH

Value

30

HTTP Status Code

400

Description

The currencies involved in the operation do not match.

TALER_EC_GENERIC_URI_TOO_LONG

Value

31

HTTP Status Code

414

Description

The URI is longer than the longest URI the HTTP server is willing to parse.

TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT

Value

32

HTTP Status Code

413

Description

The body is too large to be permissible for the endpoint.

TALER_EC_GENERIC_UNAUTHORIZED

Value

40

HTTP Status Code

401

Description

The service refused the request due to lack of proper authorization.

TALER_EC_GENERIC_DB_SETUP_FAILED

Value

50

HTTP Status Code

500

Description

The service failed initialize its connection to the database.

TALER_EC_GENERIC_DB_START_FAILED

Value

51

HTTP Status Code

500

Description

The service encountered an error event to just start the database transaction.

TALER_EC_GENERIC_DB_STORE_FAILED

Value

52

HTTP Status Code

500

Description

The service failed to store information in its database.

TALER_EC_GENERIC_DB_FETCH_FAILED

Value

53

HTTP Status Code

500

Description

The service failed to fetch information from its database.

TALER_EC_GENERIC_DB_COMMIT_FAILED

Value

54

HTTP Status Code

500

Description

The service encountered an error event to commit the database transaction (hard, unrecoverable error).

TALER_EC_GENERIC_DB_SOFT_FAILURE

Value

55

HTTP Status Code

500

Description

The service encountered an error event to commit the database transaction, even after repeatedly retrying it there was always a conflicting transaction. (This indicates a repeated serialization error; should only happen if some client maliciously tries to create conflicting concurrent transactions.)

TALER_EC_GENERIC_DB_INVARIANT_FAILURE

Value

56

HTTP Status Code

500

Description

The service’s database is inconsistent and violates service-internal invariants.

TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE

Value

60

HTTP Status Code

500

Description

The HTTP server experienced an internal invariant failure (bug).

TALER_EC_GENERIC_FAILED_COMPUTE_JSON_HASH

Value

61

HTTP Status Code

500

Description

The service could not compute a cryptographic hash over some JSON value.

TALER_EC_GENERIC_FAILED_COMPUTE_AMOUNT

Value

62

HTTP Status Code

500

Description

The service could not compute an amount.

TALER_EC_GENERIC_PARSER_OUT_OF_MEMORY

Value

70

HTTP Status Code

500

Description

The HTTP server had insufficient memory to parse the request.

TALER_EC_GENERIC_ALLOCATION_FAILURE

Value

71

HTTP Status Code

500

Description

The HTTP server failed to allocate memory.

TALER_EC_GENERIC_JSON_ALLOCATION_FAILURE

Value

72

HTTP Status Code

500

Description

The HTTP server failed to allocate memory for building JSON reply.

TALER_EC_GENERIC_CURL_ALLOCATION_FAILURE

Value

73

HTTP Status Code

500

Description

The HTTP server failed to allocate memory for making a CURL request.

TALER_EC_GENERIC_FAILED_TO_LOAD_TEMPLATE

Value

74

HTTP Status Code

500

Description

The backend could not locate a required template to generate an HTML reply.

TALER_EC_GENERIC_FAILED_TO_EXPAND_TEMPLATE

Value

75

HTTP Status Code

500

Description

The backend could not expand the template to generate an HTML reply.

TALER_EC_EXCHANGE_GENERIC_BAD_CONFIGURATION

Value

1000

HTTP Status Code

500

Description

Exchange is badly configured and thus cannot operate.

TALER_EC_EXCHANGE_GENERIC_OPERATION_UNKNOWN

Value

1001

HTTP Status Code

404

Description

Operation specified unknown for this endpoint.

TALER_EC_EXCHANGE_GENERIC_WRONG_NUMBER_OF_SEGMENTS

Value

1002

HTTP Status Code

404

Description

The number of segments included in the URI does not match the number of segments expected by the endpoint.

TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY

Value

1003

HTTP Status Code

409

Description

The same coin was already used with a different denomination previously.

TALER_EC_EXCHANGE_GENERIC_COINS_INVALID_COIN_PUB

Value

1004

HTTP Status Code

400

Description

The public key of given to a “/coins/” endpoint of the exchange was malformed.

TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN

Value

1005

HTTP Status Code

404

Description

The exchange is not aware of the denomination key the wallet requested for the operation.

TALER_EC_EXCHANGE_DENOMINATION_SIGNATURE_INVALID

Value

1006

HTTP Status Code

403

Description

The signature of the denomination key over the coin is not valid.

TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING

Value

1007

HTTP Status Code

503

Description

The exchange failed to perform the operation as it could not find the private keys. This is a problem with the exchange setup, not with the client’s request.

TALER_EC_EXCHANGE_GENERIC_DENOMINATION_VALIDITY_IN_FUTURE

Value

1008

HTTP Status Code

412

Description

Validity period of the denomination lies in the future.

TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED

Value

1009

HTTP Status Code

410

Description

Denomination key of the coin is past its expiration time for the requested operation.

TALER_EC_EXCHANGE_GENERIC_DENOMINATION_REVOKED

Value

1010

HTTP Status Code

410

Description

Denomination key of the coin has been revoked.

TALER_EC_EXCHANGE_GENERIC_SECMOD_TIMEOUT

Value

1011

HTTP Status Code

500

Description

An operation where the exchange interacted with a security module timed out.

TALER_EC_EXCHANGE_GENERIC_INSUFFICIENT_FUNDS

Value

1012

HTTP Status Code

409

Description

The respective coin did not have sufficient residual value for the operation. The “history” in this response provides the “residual_value” of the coin, which may be less than its “original_value”.

TALER_EC_EXCHANGE_GENERIC_COIN_HISTORY_COMPUTATION_FAILED

Value

1013

HTTP Status Code

500

Description

The exchange had an internal error reconstructing the transaction history of the coin that was being processed.

TALER_EC_EXCHANGE_GENERIC_HISTORY_DB_ERROR_INSUFFICIENT_FUNDS

Value

1014

HTTP Status Code

500

Description

The exchange failed to obtain the transaction history of the given coin from the database while generating an insufficient funds errors.

TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH

Value

1015

HTTP Status Code

409

Description

The same coin was already used with a different age hash previously.

TALER_EC_EXCHANGE_GENERIC_INVALID_DENOMINATION_CIPHER_FOR_OPERATION

Value

1016

HTTP Status Code

400

Description

The requested operation is not valid for the cipher used by the selected denomination.

TALER_EC_EXCHANGE_GENERIC_CIPHER_MISMATCH

Value

1017

HTTP Status Code

400

Description

The provided arguments for the operation use inconsistent ciphers.

TALER_EC_EXCHANGE_GENERIC_NEW_DENOMS_ARRAY_SIZE_EXCESSIVE

Value

1018

HTTP Status Code

400

Description

The number of denominations specified in the request exceeds the limit of the exchange.

TALER_EC_EXCHANGE_GENERIC_COIN_UNKNOWN

Value

1019

HTTP Status Code

404

Description

The coin is not known to the exchange (yet).

TALER_EC_EXCHANGE_GENERIC_CLOCK_SKEW

Value

1020

HTTP Status Code

400

Description

The time at the server is too far off from the time specified in the request. Most likely the client system time is wrong.

TALER_EC_EXCHANGE_GENERIC_AMOUNT_EXCEEDS_DENOMINATION_VALUE

Value

1021

HTTP Status Code

400

Description

The specified amount for the coin is higher than the value of the denomination of the coin.

TALER_EC_EXCHANGE_GENERIC_GLOBAL_FEES_MISSING

Value

1022

HTTP Status Code

500

Description

The exchange was not properly configured with global fees.

TALER_EC_EXCHANGE_GENERIC_WIRE_FEES_MISSING

Value

1023

HTTP Status Code

500

Description

The exchange was not properly configured with wire fees.

TALER_EC_EXCHANGE_GENERIC_PURSE_PUB_MALFORMED

Value

1024

HTTP Status Code

400

Description

The purse public key was malformed.

TALER_EC_EXCHANGE_GENERIC_PURSE_UNKNOWN

Value

1025

HTTP Status Code

404

Description

The purse is unknown.

TALER_EC_EXCHANGE_GENERIC_PURSE_EXPIRED

Value

1026

HTTP Status Code

410

Description

The purse has expired.

TALER_EC_EXCHANGE_GENERIC_RESERVE_UNKNOWN

Value

1027

HTTP Status Code

404

Description

The exchange has no information about the “reserve_pub” that was given.

TALER_EC_EXCHANGE_GENERIC_KYC_REQUIRED

Value

1028

HTTP Status Code

451

Description

The exchange is not allowed to proceed with the operation until the client has satisfied a KYC check.

TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_CONFLICTING_ATTEST_VS_AGE_COMMITMENT

Value

1029

HTTP Status Code

400

Description

Inconsistency between provided age commitment and attest: either none or both must be provided

TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_AGE_ATTESTATION_FAILURE

Value

1030

HTTP Status Code

400

Description

The provided attestation for the minimum age couldn’t be verified by the exchange.

TALER_EC_EXCHANGE_GENERIC_PURSE_DELETED

Value

1031

HTTP Status Code

410

Description

The purse was deleted.

TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_PUB_MALFORMED

Value

1032

HTTP Status Code

400

Description

The public key of the AML officer in the URL was malformed.

TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_GET_SIGNATURE_INVALID

Value

1033

HTTP Status Code

403

Description

The signature affirming the GET request of the AML officer is invalid.

TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_ACCESS_DENIED

Value

1034

HTTP Status Code

403

Description

The specified AML officer does not have access at this time.

TALER_EC_EXCHANGE_GENERIC_AML_PENDING

Value

1035

HTTP Status Code

451

Description

The requested operation is denied pending the resolution of an anti-money laundering investigation by the exchange operator. This is a manual process, please wait and retry later.

TALER_EC_EXCHANGE_GENERIC_AML_FROZEN

Value

1036

HTTP Status Code

451

Description

The requested operation is denied as the account was frozen on suspicion of money laundering. Please contact the exchange operator.

TALER_EC_EXCHANGE_DEPOSITS_GET_NOT_FOUND

Value

1100

HTTP Status Code

404

Description

The exchange did not find information about the specified transaction in the database.

TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_H_WIRE

Value

1101

HTTP Status Code

400

Description

The wire hash of given to a “/deposits/” handler was malformed.

TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_MERCHANT_PUB

Value

1102

HTTP Status Code

400

Description

The merchant key of given to a “/deposits/” handler was malformed.

TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_H_CONTRACT_TERMS

Value

1103

HTTP Status Code

400

Description

The hash of the contract terms given to a “/deposits/” handler was malformed.

TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_COIN_PUB

Value

1104

HTTP Status Code

400

Description

The coin public key of given to a “/deposits/” handler was malformed.

TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_SIGNATURE_BY_EXCHANGE

Value

1105

HTTP Status Code

0

Description

The signature returned by the exchange in a /deposits/ request was malformed.

TALER_EC_EXCHANGE_DEPOSITS_GET_MERCHANT_SIGNATURE_INVALID

Value

1106

HTTP Status Code

403

Description

The signature of the merchant is invalid.

TALER_EC_EXCHANGE_DEPOSITS_POLICY_NOT_ACCEPTED

Value

1107

HTTP Status Code

400

Description

The provided policy data was not accepted

TALER_EC_EXCHANGE_WITHDRAW_INSUFFICIENT_FUNDS

Value

1150

HTTP Status Code

409

Description

The given reserve does not have sufficient funds to admit the requested withdraw operation at this time. The response includes the current “balance” of the reserve as well as the transaction “history” that lead to this balance.

TALER_EC_EXCHANGE_AGE_WITHDRAW_INSUFFICIENT_FUNDS

Value

1151

HTTP Status Code

409

Description

The given reserve does not have sufficient funds to admit the requested age-withdraw operation at this time. The response includes the current “balance” of the reserve as well as the transaction “history” that lead to this balance.

TALER_EC_EXCHANGE_WITHDRAW_AMOUNT_FEE_OVERFLOW

Value

1152

HTTP Status Code

500

Description

The amount to withdraw together with the fee exceeds the numeric range for Taler amounts. This is not a client failure, as the coin value and fees come from the exchange’s configuration.

TALER_EC_EXCHANGE_WITHDRAW_SIGNATURE_FAILED

Value

1153

HTTP Status Code

500

Description

The exchange failed to create the signature using the denomination key.

TALER_EC_EXCHANGE_WITHDRAW_RESERVE_SIGNATURE_INVALID

Value

1154

HTTP Status Code

403

Description

The signature of the reserve is not valid.

TALER_EC_EXCHANGE_RESERVE_HISTORY_ERROR_INSUFFICIENT_FUNDS

Value

1155

HTTP Status Code

500

Description

When computing the reserve history, we ended up with a negative overall balance, which should be impossible.

TALER_EC_EXCHANGE_GET_RESERVE_HISTORY_ERROR_INSUFFICIENT_BALANCE

Value

1156

HTTP Status Code

409

Description

The reserve did not have sufficient funds in it to pay for a full reserve history statement.

TALER_EC_EXCHANGE_WITHDRAW_DENOMINATION_KEY_LOST

Value

1158

HTTP Status Code

410

Description

Withdraw period of the coin to be withdrawn is in the past.

TALER_EC_EXCHANGE_WITHDRAW_UNBLIND_FAILURE

Value

1159

HTTP Status Code

0

Description

The client failed to unblind the blind signature.

TALER_EC_EXCHANGE_WITHDRAW_NONCE_REUSE

Value

1160

HTTP Status Code

409

Description

The client re-used a withdraw nonce, which is not allowed.

TALER_EC_EXCHANGE_AGE_WITHDRAW_COMMITMENT_UNKNOWN

Value

1161

HTTP Status Code

400

Description

The client provided an unknown commitment for an age-withdraw request.

TALER_EC_EXCHANGE_AGE_WITHDRAW_AMOUNT_OVERFLOW

Value

1162

HTTP Status Code

500

Description

The total sum of amounts from the denominations did overflow.

TALER_EC_EXCHANGE_AGE_WITHDRAW_AMOUNT_INCORRECT

Value

1163

HTTP Status Code

400

Description

The total sum of value and fees from the denominations differs from the committed amount with fees.

TALER_EC_EXCHANGE_AGE_WITHDRAW_REVEAL_INVALID_HASH

Value

1164

HTTP Status Code

400

Description

The original commitment differs from the calculated hash

TALER_EC_EXCHANGE_AGE_WITHDRAW_MAXIMUM_AGE_TOO_LARGE

Value

1165

HTTP Status Code

409

Description

The maximum age in the commitment is too large for the reserve

TALER_EC_EXCHANGE_WITHDRAW_BATCH_IDEMPOTENT_PLANCHET

Value

1175

HTTP Status Code

409

Description

The batch withdraw included a planchet that was already withdrawn. This is not allowed.

TALER_EC_EXCHANGE_DEPOSIT_COIN_SIGNATURE_INVALID

Value

1205

HTTP Status Code

403

Description

The signature made by the coin over the deposit permission is not valid.

TALER_EC_EXCHANGE_DEPOSIT_CONFLICTING_CONTRACT

Value

1206

HTTP Status Code

409

Description

The same coin was already deposited for the same merchant and contract with other details.

TALER_EC_EXCHANGE_DEPOSIT_NEGATIVE_VALUE_AFTER_FEE

Value

1207

HTTP Status Code

400

Description

The stated value of the coin after the deposit fee is subtracted would be negative.

TALER_EC_EXCHANGE_DEPOSIT_REFUND_DEADLINE_AFTER_WIRE_DEADLINE

Value

1208

HTTP Status Code

400

Description

The stated refund deadline is after the wire deadline.

TALER_EC_EXCHANGE_DEPOSIT_WIRE_DEADLINE_IS_NEVER

Value

1209

HTTP Status Code

400

Description

The stated wire deadline is “never”, which makes no sense.

TALER_EC_EXCHANGE_DEPOSIT_INVALID_WIRE_FORMAT_JSON

Value

1210

HTTP Status Code

400

Description

The exchange failed to canonicalize and hash the given wire format. For example, the merchant failed to provide the “salt” or a valid payto:// URI in the wire details. Note that while the exchange will do some basic sanity checking on the wire details, it cannot warrant that the banking system will ultimately be able to route to the specified address, even if this check passed.

TALER_EC_EXCHANGE_DEPOSIT_INVALID_WIRE_FORMAT_CONTRACT_HASH_CONFLICT

Value

1211

HTTP Status Code

400

Description

The hash of the given wire address does not match the wire hash specified in the proposal data.

TALER_EC_EXCHANGE_DEPOSIT_INVALID_SIGNATURE_BY_EXCHANGE

Value

1221

HTTP Status Code

0

Description

The signature provided by the exchange is not valid.

TALER_EC_EXCHANGE_DEPOSIT_FEE_ABOVE_AMOUNT

Value

1222

HTTP Status Code

400

Description

The deposited amount is smaller than the deposit fee, which would result in a negative contribution.

TALER_EC_EXCHANGE_EXTENSIONS_INVALID_FULFILLMENT

Value

1240

HTTP Status Code

400

Description

The proof of policy fulfillment was invalid.

TALER_EC_EXCHANGE_COIN_HISTORY_BAD_SIGNATURE

Value

1251

HTTP Status Code

403

Description

The coin history was requested with a bad signature.

TALER_EC_EXCHANGE_RESERVE_HISTORY_BAD_SIGNATURE

Value

1252

HTTP Status Code

403

Description

The reserve history was requested with a bad signature.

TALER_EC_EXCHANGE_MELT_FEES_EXCEED_CONTRIBUTION

Value

1302

HTTP Status Code

400

Description

The exchange encountered melt fees exceeding the melted coin’s contribution.

TALER_EC_EXCHANGE_MELT_COIN_SIGNATURE_INVALID

Value

1303

HTTP Status Code

403

Description

The signature made with the coin to be melted is invalid.

TALER_EC_EXCHANGE_MELT_COIN_EXPIRED_NO_ZOMBIE

Value

1305

HTTP Status Code

400

Description

The denomination of the given coin has past its expiration date and it is also not a valid zombie (that is, was not refreshed with the fresh coin being subjected to recoup).

TALER_EC_EXCHANGE_MELT_INVALID_SIGNATURE_BY_EXCHANGE

Value

1306

HTTP Status Code

0

Description

The signature returned by the exchange in a melt request was malformed.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_COMMITMENT_VIOLATION

Value

1353

HTTP Status Code

409

Description

The provided transfer keys do not match up with the original commitment. Information about the original commitment is included in the response.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_SIGNING_ERROR

Value

1354

HTTP Status Code

500

Description

Failed to produce the blinded signatures over the coins to be returned.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_SESSION_UNKNOWN

Value

1355

HTTP Status Code

404

Description

The exchange is unaware of the refresh session specified in the request.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_CNC_TRANSFER_ARRAY_SIZE_INVALID

Value

1356

HTTP Status Code

400

Description

The size of the cut-and-choose dimension of the private transfer keys request does not match #TALER_CNC_KAPPA - 1.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_NEW_DENOMS_ARRAY_SIZE_MISMATCH

Value

1358

HTTP Status Code

400

Description

The number of envelopes given does not match the number of denomination keys given.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_COST_CALCULATION_OVERFLOW

Value

1359

HTTP Status Code

500

Description

The exchange encountered a numeric overflow totaling up the cost for the refresh operation.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_AMOUNT_INSUFFICIENT

Value

1360

HTTP Status Code

400

Description

The exchange’s cost calculation shows that the melt amount is below the costs of the transaction.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_LINK_SIGNATURE_INVALID

Value

1361

HTTP Status Code

403

Description

The signature made with the coin over the link data is invalid.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_INVALID_RCH

Value

1362

HTTP Status Code

400

Description

The refresh session hash given to a /refreshes/ handler was malformed.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_OPERATION_INVALID

Value

1363

HTTP Status Code

400

Description

Operation specified invalid for this endpoint.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_AGE_RESTRICTION_NOT_SUPPORTED

Value

1364

HTTP Status Code

400

Description

The client provided age commitment data, but age restriction is not supported on this server.

TALER_EC_EXCHANGE_REFRESHES_REVEAL_AGE_RESTRICTION_COMMITMENT_INVALID

Value

1365

HTTP Status Code

400

Description

The client provided invalid age commitment data: missing, not an array, or array of invalid size.

TALER_EC_EXCHANGE_LINK_COIN_UNKNOWN

Value

1400

HTTP Status Code

404

Description

The coin specified in the link request is unknown to the exchange.

TALER_EC_EXCHANGE_TRANSFERS_GET_WTID_MALFORMED

Value

1450

HTTP Status Code

400

Description

The public key of given to a /transfers/ handler was malformed.

TALER_EC_EXCHANGE_TRANSFERS_GET_WTID_NOT_FOUND

Value

1451

HTTP Status Code

404

Description

The exchange did not find information about the specified wire transfer identifier in the database.

TALER_EC_EXCHANGE_TRANSFERS_GET_WIRE_FEE_NOT_FOUND

Value

1452

HTTP Status Code

500

Description

The exchange did not find information about the wire transfer fees it charged.

TALER_EC_EXCHANGE_TRANSFERS_GET_WIRE_FEE_INCONSISTENT

Value

1453

HTTP Status Code

500

Description

The exchange found a wire fee that was above the total transfer value (and thus could not have been charged).

TALER_EC_EXCHANGE_PURSES_INVALID_WAIT_TARGET

Value

1475

HTTP Status Code

400

Description

The wait target of the URL was not in the set of expected values.

TALER_EC_EXCHANGE_PURSES_GET_INVALID_SIGNATURE_BY_EXCHANGE

Value

1476

HTTP Status Code

0

Description

The signature on the purse status returned by the exchange was invalid.

TALER_EC_EXCHANGE_REFUND_COIN_NOT_FOUND

Value

1500

HTTP Status Code

404

Description

The exchange knows literally nothing about the coin we were asked to refund. But without a transaction history, we cannot issue a refund. This is kind-of OK, the owner should just refresh it directly without executing the refund.

TALER_EC_EXCHANGE_REFUND_CONFLICT_DEPOSIT_INSUFFICIENT

Value

1501

HTTP Status Code

409

Description

We could not process the refund request as the coin’s transaction history does not permit the requested refund because then refunds would exceed the deposit amount. The “history” in the response proves this.

TALER_EC_EXCHANGE_REFUND_DEPOSIT_NOT_FOUND

Value

1502

HTTP Status Code

404

Description

The exchange knows about the coin we were asked to refund, but not about the specific /deposit operation. Hence, we cannot issue a refund (as we do not know if this merchant public key is authorized to do a refund).

TALER_EC_EXCHANGE_REFUND_MERCHANT_ALREADY_PAID

Value

1503

HTTP Status Code

410

Description

The exchange can no longer refund the customer/coin as the money was already transferred (paid out) to the merchant. (It should be past the refund deadline.)

TALER_EC_EXCHANGE_REFUND_FEE_TOO_LOW

Value

1504

HTTP Status Code

400

Description

The refund fee specified for the request is lower than the refund fee charged by the exchange for the given denomination key of the refunded coin.

TALER_EC_EXCHANGE_REFUND_FEE_ABOVE_AMOUNT

Value

1505

HTTP Status Code

400

Description

The refunded amount is smaller than the refund fee, which would result in a negative refund.

TALER_EC_EXCHANGE_REFUND_MERCHANT_SIGNATURE_INVALID

Value

1506

HTTP Status Code

403

Description

The signature of the merchant is invalid.

TALER_EC_EXCHANGE_REFUND_MERCHANT_SIGNING_FAILED

Value

1507

HTTP Status Code

500

Description

Merchant backend failed to create the refund confirmation signature.

TALER_EC_EXCHANGE_REFUND_INVALID_SIGNATURE_BY_EXCHANGE

Value

1508

HTTP Status Code

0

Description

The signature returned by the exchange in a refund request was malformed.

TALER_EC_EXCHANGE_REFUND_INVALID_FAILURE_PROOF_BY_EXCHANGE

Value

1509

HTTP Status Code

0

Description

The failure proof returned by the exchange is incorrect.

TALER_EC_EXCHANGE_REFUND_INCONSISTENT_AMOUNT

Value

1510

HTTP Status Code

424

Description

Conflicting refund granted before with different amount but same refund transaction ID.

TALER_EC_EXCHANGE_RECOUP_SIGNATURE_INVALID

Value

1550

HTTP Status Code

403

Description

The given coin signature is invalid for the request.

TALER_EC_EXCHANGE_RECOUP_WITHDRAW_NOT_FOUND

Value

1551

HTTP Status Code

404

Description

The exchange could not find the corresponding withdraw operation. The request is denied.

TALER_EC_EXCHANGE_RECOUP_COIN_BALANCE_ZERO

Value

1552

HTTP Status Code

403

Description

The coin’s remaining balance is zero. The request is denied.

TALER_EC_EXCHANGE_RECOUP_BLINDING_FAILED

Value

1553

HTTP Status Code

500

Description

The exchange failed to reproduce the coin’s blinding.

TALER_EC_EXCHANGE_RECOUP_COIN_BALANCE_NEGATIVE

Value

1554

HTTP Status Code

500

Description

The coin’s remaining balance is zero. The request is denied.

TALER_EC_EXCHANGE_RECOUP_NOT_ELIGIBLE

Value

1555

HTTP Status Code

404

Description

The coin’s denomination has not been revoked yet.

TALER_EC_EXCHANGE_RECOUP_REFRESH_SIGNATURE_INVALID

Value

1575

HTTP Status Code

403

Description

The given coin signature is invalid for the request.

TALER_EC_EXCHANGE_RECOUP_REFRESH_MELT_NOT_FOUND

Value

1576

HTTP Status Code

404

Description

The exchange could not find the corresponding melt operation. The request is denied.

TALER_EC_EXCHANGE_RECOUP_REFRESH_BLINDING_FAILED

Value

1578

HTTP Status Code

500

Description

The exchange failed to reproduce the coin’s blinding.

TALER_EC_EXCHANGE_RECOUP_REFRESH_NOT_ELIGIBLE

Value

1580

HTTP Status Code

404

Description

The coin’s denomination has not been revoked yet.

TALER_EC_EXCHANGE_KEYS_TIMETRAVEL_FORBIDDEN

Value

1600

HTTP Status Code

403

Description

This exchange does not allow clients to request /keys for times other than the current (exchange) time.

TALER_EC_EXCHANGE_WIRE_SIGNATURE_INVALID

Value

1650

HTTP Status Code

0

Description

A signature in the server’s response was malformed.

TALER_EC_EXCHANGE_WIRE_NO_ACCOUNTS_CONFIGURED

Value

1651

HTTP Status Code

500

Description

No bank accounts are enabled for the exchange. The administrator should enable-account using the taler-exchange-offline tool.

TALER_EC_EXCHANGE_WIRE_INVALID_PAYTO_CONFIGURED

Value

1652

HTTP Status Code

500

Description

The payto:// URI stored in the exchange database for its bank account is malformed.

TALER_EC_EXCHANGE_WIRE_FEES_NOT_CONFIGURED

Value

1653

HTTP Status Code

500

Description

No wire fees are configured for an enabled wire method of the exchange. The administrator must set the wire-fee using the taler-exchange-offline tool.

TALER_EC_EXCHANGE_RESERVES_PURSE_CREATE_CONFLICTING_META_DATA

Value

1675

HTTP Status Code

409

Description

This purse was previously created with different meta data.

TALER_EC_EXCHANGE_RESERVES_PURSE_MERGE_CONFLICTING_META_DATA

Value

1676

HTTP Status Code

409

Description

This purse was previously merged with different meta data.

TALER_EC_EXCHANGE_RESERVES_PURSE_CREATE_INSUFFICIENT_FUNDS

Value

1677

HTTP Status Code

409

Description

The reserve has insufficient funds to create another purse.

TALER_EC_EXCHANGE_RESERVES_PURSE_FEE_TOO_LOW

Value

1678

HTTP Status Code

400

Description

The purse fee specified for the request is lower than the purse fee charged by the exchange at this time.

TALER_EC_EXCHANGE_PURSE_DELETE_ALREADY_DECIDED

Value

1679

HTTP Status Code

409

Description

The payment request cannot be deleted anymore, as it either already completed or timed out.

TALER_EC_EXCHANGE_PURSE_DELETE_SIGNATURE_INVALID

Value

1680

HTTP Status Code

403

Description

The signature affirming the purse deletion is invalid.

TALER_EC_EXCHANGE_RESERVES_AGE_RESTRICTION_REQUIRED

Value

1681

HTTP Status Code

403

Description

Withdrawal from the reserve requires age restriction to be set.

TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE

Value

1700

HTTP Status Code

502

Description

The exchange failed to talk to the process responsible for its private denomination keys or the helpers had no denominations (properly) configured.

TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG

Value

1701

HTTP Status Code

500

Description

The response from the denomination key helper process was malformed.

TALER_EC_EXCHANGE_DENOMINATION_HELPER_TOO_EARLY

Value

1702

HTTP Status Code

400

Description

The helper refuses to sign with the key, because it is too early: the validity period has not yet started.

TALER_EC_EXCHANGE_PURSE_DEPOSIT_EXCHANGE_SIGNATURE_INVALID

Value

1725

HTTP Status Code

0

Description

The signature of the exchange on the reply was invalid.

TALER_EC_EXCHANGE_SIGNKEY_HELPER_UNAVAILABLE

Value

1750

HTTP Status Code

502

Description

The exchange failed to talk to the process responsible for its private signing keys.

TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG

Value

1751

HTTP Status Code

500

Description

The response from the online signing key helper process was malformed.

TALER_EC_EXCHANGE_SIGNKEY_HELPER_TOO_EARLY

Value

1752

HTTP Status Code

400

Description

The helper refuses to sign with the key, because it is too early: the validity period has not yet started.

TALER_EC_EXCHANGE_RESERVES_PURSE_EXPIRATION_BEFORE_NOW

Value

1775

HTTP Status Code

400

Description

The purse expiration time is in the past at the time of its creation.

TALER_EC_EXCHANGE_RESERVES_PURSE_EXPIRATION_IS_NEVER

Value

1776

HTTP Status Code

400

Description

The purse expiration time is set to never, which is not allowed.

TALER_EC_EXCHANGE_RESERVES_PURSE_MERGE_SIGNATURE_INVALID

Value

1777

HTTP Status Code

403

Description

The signature affirming the merge of the purse is invalid.

TALER_EC_EXCHANGE_RESERVES_RESERVE_MERGE_SIGNATURE_INVALID

Value

1778

HTTP Status Code

403

Description

The signature by the reserve affirming the merge is invalid.

TALER_EC_EXCHANGE_RESERVES_OPEN_BAD_SIGNATURE

Value

1785

HTTP Status Code

403

Description

The signature by the reserve affirming the open operation is invalid.

TALER_EC_EXCHANGE_RESERVES_CLOSE_BAD_SIGNATURE

Value

1786

HTTP Status Code

403

Description

The signature by the reserve affirming the close operation is invalid.

TALER_EC_EXCHANGE_RESERVES_ATTEST_BAD_SIGNATURE

Value

1787

HTTP Status Code

403

Description

The signature by the reserve affirming the attestion request is invalid.

TALER_EC_EXCHANGE_RESERVES_CLOSE_NO_TARGET_ACCOUNT

Value

1788

HTTP Status Code

409

Description

The exchange does not know an origin account to which the remaining reserve balance could be wired to, and the wallet failed to provide one.

TALER_EC_EXCHANGE_RESERVES_OPEN_INSUFFICIENT_FUNDS

Value

1789

HTTP Status Code

409

Description

The reserve balance is insufficient to pay for the open operation.

TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_NOT_FOUND

Value

1800

HTTP Status Code

404

Description

The auditor that was supposed to be disabled is unknown to this exchange.

TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_MORE_RECENT_PRESENT

Value

1801

HTTP Status Code

409

Description

The exchange has a more recently signed conflicting instruction and is thus refusing the current change (replay detected).

TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_ADD_SIGNATURE_INVALID

Value

1802

HTTP Status Code

403

Description

The signature to add or enable the auditor does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_DEL_SIGNATURE_INVALID

Value

1803

HTTP Status Code

403

Description

The signature to disable the auditor does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_DENOMINATION_REVOKE_SIGNATURE_INVALID

Value

1804

HTTP Status Code

403

Description

The signature to revoke the denomination does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_SIGNKEY_REVOKE_SIGNATURE_INVALID

Value

1805

HTTP Status Code

403

Description

The signature to revoke the online signing key does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_MORE_RECENT_PRESENT

Value

1806

HTTP Status Code

409

Description

The exchange has a more recently signed conflicting instruction and is thus refusing the current change (replay detected).

TALER_EC_EXCHANGE_MANAGEMENT_KEYS_SIGNKEY_UNKNOWN

Value

1807

HTTP Status Code

404

Description

The signingkey specified is unknown to the exchange.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DETAILS_SIGNATURE_INVALID

Value

1808

HTTP Status Code

403

Description

The signature to publish wire account does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_ADD_SIGNATURE_INVALID

Value

1809

HTTP Status Code

403

Description

The signature to add the wire account does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DEL_SIGNATURE_INVALID

Value

1810

HTTP Status Code

403

Description

The signature to disable the wire account does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_NOT_FOUND

Value

1811

HTTP Status Code

404

Description

The wire account to be disabled is unknown to the exchange.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_FEE_SIGNATURE_INVALID

Value

1812

HTTP Status Code

403

Description

The signature to affirm wire fees does not validate.

TALER_EC_EXCHANGE_MANAGEMENT_WIRE_FEE_MISMATCH

Value

1813

HTTP Status Code

409

Description

The signature conflicts with a previous signature affirming different fees.

TALER_EC_EXCHANGE_MANAGEMENT_KEYS_DENOMKEY_ADD_SIGNATURE_INVALID

Value

1814

HTTP Status Code

403

Description

The signature affirming the denomination key is invalid.

TALER_EC_EXCHANGE_MANAGEMENT_KEYS_SIGNKEY_ADD_SIGNATURE_INVALID

Value

1815

HTTP Status Code

403

Description

The signature affirming the signing key is invalid.

TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_MISMATCH

Value

1816

HTTP Status Code

409

Description

The signature conflicts with a previous signature affirming different fees.

TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_SIGNATURE_INVALID

Value

1817

HTTP Status Code

403

Description

The signature affirming the fee structure is invalid.

TALER_EC_EXCHANGE_MANAGEMENT_DRAIN_PROFITS_SIGNATURE_INVALID

Value

1818

HTTP Status Code

403

Description

The signature affirming the profit drain is invalid.

TALER_EC_EXCHANGE_AML_DECISION_ADD_SIGNATURE_INVALID

Value

1825

HTTP Status Code

403

Description

The signature affirming the AML decision is invalid.

TALER_EC_EXCHANGE_AML_DECISION_INVALID_OFFICER

Value

1826

HTTP Status Code

403

Description

The AML officer specified is not allowed to make AML decisions right now.

TALER_EC_EXCHANGE_AML_DECISION_MORE_RECENT_PRESENT

Value

1827

HTTP Status Code

409

Description

There is a more recent AML decision on file. The decision was rejected as timestamps of AML decisions must be monotonically increasing.

TALER_EC_EXCHANGE_AML_DECISION_UNKNOWN_CHECK

Value

1828

HTTP Status Code

400

Description

There AML decision would impose an AML check of a type that is not provided by any KYC provider known to the exchange.

TALER_EC_EXCHANGE_MANAGEMENT_UPDATE_AML_OFFICER_SIGNATURE_INVALID

Value

1830

HTTP Status Code

403

Description

The signature affirming the change in the AML officer status is invalid.

TALER_EC_EXCHANGE_MANAGEMENT_AML_OFFICERS_MORE_RECENT_PRESENT

Value

1831

HTTP Status Code

409

Description

A more recent decision about the AML officer status is known to the exchange.

TALER_EC_EXCHANGE_PURSE_CREATE_CONFLICTING_META_DATA

Value

1850

HTTP Status Code

409

Description

The purse was previously created with different meta data.

TALER_EC_EXCHANGE_PURSE_CREATE_CONFLICTING_CONTRACT_STORED

Value

1851

HTTP Status Code

409

Description

The purse was previously created with a different contract.

TALER_EC_EXCHANGE_PURSE_CREATE_COIN_SIGNATURE_INVALID

Value

1852

HTTP Status Code

403

Description

A coin signature for a deposit into the purse is invalid.

TALER_EC_EXCHANGE_PURSE_CREATE_EXPIRATION_BEFORE_NOW

Value

1853

HTTP Status Code

400

Description

The purse expiration time is in the past.

TALER_EC_EXCHANGE_PURSE_CREATE_EXPIRATION_IS_NEVER

Value

1854

HTTP Status Code

400

Description

The purse expiration time is “never”.

TALER_EC_EXCHANGE_PURSE_CREATE_SIGNATURE_INVALID

Value

1855

HTTP Status Code

403

Description

The purse signature over the purse meta data is invalid.

TALER_EC_EXCHANGE_PURSE_ECONTRACT_SIGNATURE_INVALID

Value

1856

HTTP Status Code

403

Description

The signature over the encrypted contract is invalid.

TALER_EC_EXCHANGE_PURSE_CREATE_EXCHANGE_SIGNATURE_INVALID

Value

1857

HTTP Status Code

0

Description

The signature from the exchange over the confirmation is invalid.

TALER_EC_EXCHANGE_PURSE_DEPOSIT_CONFLICTING_META_DATA

Value

1858

HTTP Status Code

409

Description

The coin was previously deposited with different meta data.

TALER_EC_EXCHANGE_PURSE_ECONTRACT_CONFLICTING_META_DATA

Value

1859

HTTP Status Code

409

Description

The encrypted contract was previously uploaded with different meta data.

TALER_EC_EXCHANGE_CREATE_PURSE_NEGATIVE_VALUE_AFTER_FEE

Value

1860

HTTP Status Code

400

Description

The deposited amount is less than the purse fee.

TALER_EC_EXCHANGE_PURSE_MERGE_INVALID_MERGE_SIGNATURE

Value

1876

HTTP Status Code

403

Description

The signature using the merge key is invalid.

TALER_EC_EXCHANGE_PURSE_MERGE_INVALID_RESERVE_SIGNATURE

Value

1877

HTTP Status Code

403

Description

The signature using the reserve key is invalid.

TALER_EC_EXCHANGE_PURSE_NOT_FULL

Value

1878

HTTP Status Code

409

Description

The targeted purse is not yet full and thus cannot be merged. Retrying the request later may succeed.

TALER_EC_EXCHANGE_PURSE_MERGE_EXCHANGE_SIGNATURE_INVALID

Value

1879

HTTP Status Code

0

Description

The signature from the exchange over the confirmation is invalid.

TALER_EC_EXCHANGE_MERGE_PURSE_PARTNER_UNKNOWN

Value

1880

HTTP Status Code

404

Description

The exchange of the target account is not a partner of this exchange.

TALER_EC_EXCHANGE_MANAGEMENT_ADD_PARTNER_SIGNATURE_INVALID

Value

1890

HTTP Status Code

403

Description

The signature affirming the new partner is invalid.

TALER_EC_EXCHANGE_MANAGEMENT_ADD_PARTNER_DATA_CONFLICT

Value

1891

HTTP Status Code

409

Description

Conflicting data for the partner already exists with the exchange.

TALER_EC_EXCHANGE_AUDITORS_AUDITOR_SIGNATURE_INVALID

Value

1900

HTTP Status Code

403

Description

The auditor signature over the denomination meta data is invalid.

TALER_EC_EXCHANGE_AUDITORS_AUDITOR_UNKNOWN

Value

1901

HTTP Status Code

412

Description

The auditor that was specified is unknown to this exchange.

TALER_EC_EXCHANGE_AUDITORS_AUDITOR_INACTIVE

Value

1902

HTTP Status Code

410

Description

The auditor that was specified is no longer used by this exchange.

TALER_EC_EXCHANGE_KYC_WALLET_SIGNATURE_INVALID

Value

1925

HTTP Status Code

403

Description

The signature affirming the wallet’s KYC request was invalid.

TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_INVALID_RESPONSE

Value

1926

HTTP Status Code

502

Description

The exchange received an unexpected malformed response from its KYC backend.

TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_ERROR

Value

1927

HTTP Status Code

502

Description

The backend signaled an unexpected failure.

TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_AUTHORIZATION_FAILED

Value

1928

HTTP Status Code

403

Description

The backend signaled an authorization failure.

TALER_EC_EXCHANGE_KYC_PROOF_REQUEST_UNKNOWN

Value

1929

HTTP Status Code

404

Description

The exchange is unaware of having made an the authorization request.

TALER_EC_EXCHANGE_KYC_CHECK_AUTHORIZATION_FAILED

Value

1930

HTTP Status Code

403

Description

The payto-URI hash did not match. Hence the request was denied.

TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_UNKNOWN

Value

1931

HTTP Status Code

404

Description

The request used a logic specifier that is not known to the exchange.

TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_GONE

Value

1932

HTTP Status Code

500

Description

The request requires a logic which is no longer configured at the exchange.

TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_BUG

Value

1933

HTTP Status Code

500

Description

The logic plugin had a bug in its interaction with the KYC provider.

TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_ACCESS_REFUSED

Value

1934

HTTP Status Code

511

Description

The exchange could not process the request with its KYC provider because the provider refused access to the service. This indicates some configuration issue at the Taler exchange operator.

TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_TIMEOUT

Value

1935

HTTP Status Code

504

Description

There was a timeout in the interaction between the exchange and the KYC provider. The most likely cause is some networking problem. Trying again later might succeed.

TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_UNEXPECTED_REPLY

Value

1936

HTTP Status Code

502

Description

The KYC provider responded with a status that was completely unexpected by the KYC logic of the exchange.

TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_RATE_LIMIT_EXCEEDED

Value

1937

HTTP Status Code

503

Description

The rate limit of the exchange at the KYC provider has been exceeded. Trying much later might work.

TALER_EC_EXCHANGE_KYC_WEBHOOK_UNAUTHORIZED

Value

1938

HTTP Status Code

401

Description

The request to the webhook lacked proper authorization or authentication data.

TALER_EC_EXCHANGE_CONTRACTS_UNKNOWN

Value

1950

HTTP Status Code

404

Description

The exchange does not know a contract under the given contract public key.

TALER_EC_EXCHANGE_CONTRACTS_INVALID_CONTRACT_PUB

Value

1951

HTTP Status Code

400

Description

The URL does not encode a valid exchange public key in its path.

TALER_EC_EXCHANGE_CONTRACTS_DECRYPTION_FAILED

Value

1952

HTTP Status Code

0

Description

The returned encrypted contract did not decrypt.

TALER_EC_EXCHANGE_CONTRACTS_SIGNATURE_INVALID

Value

1953

HTTP Status Code

0

Description

The signature on the encrypted contract did not validate.

TALER_EC_EXCHANGE_CONTRACTS_DECODING_FAILED

Value

1954

HTTP Status Code

0

Description

The decrypted contract was malformed.

TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_SIGNATURE_INVALID

Value

1975

HTTP Status Code

403

Description

A coin signature for a deposit into the purse is invalid.

TALER_EC_EXCHANGE_PURSE_DEPOSIT_DECIDED_ALREADY

Value

1976

HTTP Status Code

410

Description

It is too late to deposit coins into the purse.

TALER_EC_EXCHANGE_TOTP_KEY_INVALID

Value

1980

HTTP Status Code

0

Description

TOTP key is not valid.

TALER_EC_MERCHANT_GENERIC_INSTANCE_UNKNOWN

Value

2000

HTTP Status Code

404

Description

The backend could not find the merchant instance specified in the request.

TALER_EC_MERCHANT_GENERIC_HOLE_IN_WIRE_FEE_STRUCTURE

Value

2001

HTTP Status Code

0

Description

The start and end-times in the wire fee structure leave a hole. This is not allowed.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_WIRE_REQUEST_FAILED

Value

2002

HTTP Status Code

502

Description

The merchant was unable to obtain a valid answer to /wire from the exchange.

TALER_EC_MERCHANT_GENERIC_ORDER_UNKNOWN

Value

2005

HTTP Status Code

404

Description

The proposal is not known to the backend.

TALER_EC_MERCHANT_GENERIC_PRODUCT_UNKNOWN

Value

2006

HTTP Status Code

404

Description

The order provided to the backend could not be completed, because a product to be completed via inventory data is not actually in our inventory.

TALER_EC_MERCHANT_GENERIC_REWARD_ID_UNKNOWN

Value

2007

HTTP Status Code

404

Description

The reward ID is unknown. This could happen if the reward has expired.

TALER_EC_MERCHANT_GENERIC_DB_CONTRACT_CONTENT_INVALID

Value

2008

HTTP Status Code

500

Description

The contract obtained from the merchant backend was malformed.

TALER_EC_MERCHANT_GENERIC_CONTRACT_HASH_DOES_NOT_MATCH_ORDER

Value

2009

HTTP Status Code

403

Description

The order we found does not match the provided contract hash.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_KEYS_FAILURE

Value

2010

HTTP Status Code

502

Description

The exchange failed to provide a valid response to the merchant’s /keys request.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_TIMEOUT

Value

2011

HTTP Status Code

504

Description

The exchange failed to respond to the merchant on time.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_CONNECT_FAILURE

Value

2012

HTTP Status Code

500

Description

The merchant failed to talk to the exchange.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_REPLY_MALFORMED

Value

2013

HTTP Status Code

502

Description

The exchange returned a maformed response.

TALER_EC_MERCHANT_GENERIC_EXCHANGE_UNEXPECTED_STATUS

Value

2014

HTTP Status Code

502

Description

The exchange returned an unexpected response status.

TALER_EC_MERCHANT_GENERIC_UNAUTHORIZED

Value

2015

HTTP Status Code

401

Description

The merchant refused the request due to lack of authorization.

TALER_EC_MERCHANT_GENERIC_INSTANCE_DELETED

Value

2016

HTTP Status Code

404

Description

The merchant instance specified in the request was deleted.

TALER_EC_MERCHANT_GENERIC_TRANSFER_UNKNOWN

Value

2017

HTTP Status Code

404

Description

The backend could not find the inbound wire transfer specified in the request.

TALER_EC_MERCHANT_GENERIC_TEMPLATE_UNKNOWN

Value

2018

HTTP Status Code

404

Description

The backend could not find the template(id) because it is not exist.

TALER_EC_MERCHANT_GENERIC_WEBHOOK_UNKNOWN

Value

2019

HTTP Status Code

404

Description

The backend could not find the webhook(id) because it is not exist.

TALER_EC_MERCHANT_GENERIC_PENDING_WEBHOOK_UNKNOWN

Value

2020

HTTP Status Code

404

Description

The backend could not find the webhook(serial) because it is not exist.

TALER_EC_MERCHANT_GENERIC_OTP_DEVICE_UNKNOWN

Value

2021

HTTP Status Code

404

Description

The backend could not find the OTP device(id) because it is not exist.

TALER_EC_MERCHANT_GENERIC_ACCOUNT_UNKNOWN

Value

2022

HTTP Status Code

404

Description

The account is not known to the backend.

TALER_EC_MERCHANT_GENERIC_H_WIRE_MALFORMED

Value

2023

HTTP Status Code

400

Description

The wire hash was malformed.

TALER_EC_MERCHANT_GET_ORDERS_EXCHANGE_TRACKING_FAILURE

Value

2100

HTTP Status Code

200

Description

The exchange failed to provide a valid answer to the tracking request, thus those details are not in the response.

TALER_EC_MERCHANT_GET_ORDERS_ID_EXCHANGE_REQUEST_FAILURE

Value

2103

HTTP Status Code

500

Description

The merchant backend failed to construct the request for tracking to the exchange, thus tracking details are not in the response.

TALER_EC_MERCHANT_GET_ORDERS_ID_EXCHANGE_LOOKUP_START_FAILURE

Value

2104

HTTP Status Code

500

Description

The merchant backend failed trying to contact the exchange for tracking details, thus those details are not in the response.

TALER_EC_MERCHANT_GET_ORDERS_ID_INVALID_TOKEN

Value

2105

HTTP Status Code

403

Description

The claim token used to authenticate the client is invalid for this order.

TALER_EC_MERCHANT_GET_ORDERS_ID_INVALID_CONTRACT_HASH

Value

2106

HTTP Status Code

403

Description

The contract terms hash used to authenticate the client is invalid for this order.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_INSUFFICIENT_FUNDS

Value

2150

HTTP Status Code

409

Description

The exchange responded saying that funds were insufficient (for example, due to double-spending).

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_KEY_NOT_FOUND

Value

2151

HTTP Status Code

400

Description

The denomination key used for payment is not listed among the denomination keys of the exchange.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_KEY_AUDITOR_FAILURE

Value

2152

HTTP Status Code

400

Description

The denomination key used for payment is not audited by an auditor approved by the merchant.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AMOUNT_OVERFLOW

Value

2153

HTTP Status Code

500

Description

There was an integer overflow totaling up the amounts or deposit fees in the payment.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_FEES_EXCEED_PAYMENT

Value

2154

HTTP Status Code

400

Description

The deposit fees exceed the total value of the payment.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_INSUFFICIENT_DUE_TO_FEES

Value

2155

HTTP Status Code

406

Description

After considering deposit and wire fees, the payment is insufficient to satisfy the required amount for the contract. The client should revisit the logic used to calculate fees it must cover.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_PAYMENT_INSUFFICIENT

Value

2156

HTTP Status Code

406

Description

Even if we do not consider deposit and wire fees, the payment is insufficient to satisfy the required amount for the contract.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_COIN_SIGNATURE_INVALID

Value

2157

HTTP Status Code

403

Description

The signature over the contract of one of the coins was invalid.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_LOOKUP_FAILED

Value

2158

HTTP Status Code

500

Description

When we tried to find information about the exchange to issue the deposit, we failed. This usually only happens if the merchant backend is somehow unable to get its own HTTP client logic to work.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUND_DEADLINE_PAST_WIRE_TRANSFER_DEADLINE

Value

2159

HTTP Status Code

500

Description

The refund deadline in the contract is after the transfer deadline.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_ALREADY_PAID

Value

2160

HTTP Status Code

409

Description

The order was already paid (maybe by another wallet).

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_OFFER_EXPIRED

Value

2161

HTTP Status Code

410

Description

The payment is too late, the offer has expired.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_MERCHANT_FIELD_MISSING

Value

2162

HTTP Status Code

500

Description

The “merchant” field is missing in the proposal data. This is an internal error as the proposal is from the merchant’s own database at this point.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_WIRE_HASH_UNKNOWN

Value

2163

HTTP Status Code

500

Description

Failed to locate merchant’s account information matching the wire hash given in the proposal.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_DEPOSIT_EXPIRED

Value

2165

HTTP Status Code

410

Description

The deposit time for the denomination has expired.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_WIRE_FEE_ADDITION_FAILED

Value

2166

HTTP Status Code

500

Description

The exchange of the deposited coin charges a wire fee that could not be added to the total (total amount too high).

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUNDED

Value

2167

HTTP Status Code

402

Description

The contract was not fully paid because of refunds. Note that clients MAY treat this as paid if, for example, contracts must be executed despite of refunds.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUNDS_EXCEED_PAYMENTS

Value

2168

HTTP Status Code

500

Description

According to our database, we have refunded more than we were paid (which should not be possible).

TALER_EC_DEAD_QQQ_PAY_MERCHANT_POST_ORDERS_ID_ABORT_REFUND_REFUSED_PAYMENT_COMPLETE

Value

2169

HTTP Status Code

0

Description

Legacy stuff. Remove me with protocol v1.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_FAILED

Value

2170

HTTP Status Code

502

Description

The payment failed at the exchange.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_MISSING

Value

2171

HTTP Status Code

400

Description

The payment required a minimum age but one of the coins (of a denomination with support for age restriction) did not provide any age_commitment.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_SIZE_MISMATCH

Value

2172

HTTP Status Code

400

Description

The payment required a minimum age but one of the coins provided an age_commitment that contained a wrong number of public keys compared to the number of age groups defined in the denomination of the coin.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_VERIFICATION_FAILED

Value

2173

HTTP Status Code

400

Description

The payment required a minimum age but one of the coins provided a minimum_age_sig that couldn’t be verified with the given age_commitment for that particular minimum age.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_HASH_MISSING

Value

2174

HTTP Status Code

400

Description

The payment required no minimum age but one of the coins (of a denomination with support for age restriction) did not provide the required h_age_commitment.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_WIRE_METHOD_UNSUPPORTED

Value

2175

HTTP Status Code

409

Description

The exchange does not support the selected bank account of the merchant. Likely the merchant had stale data on the bank accounts of the exchange and thus selected an inappropriate exchange when making the offer.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAID_CONTRACT_HASH_MISMATCH

Value

2200

HTTP Status Code

400

Description

The contract hash does not match the given order ID.

TALER_EC_MERCHANT_POST_ORDERS_ID_PAID_COIN_SIGNATURE_INVALID

Value

2201

HTTP Status Code

403

Description

The signature of the merchant is not valid for the given contract hash.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_EXCHANGE_REFUND_FAILED

Value

2251

HTTP Status Code

500

Description

The merchant failed to send the exchange the refund request.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_EXCHANGE_LOOKUP_FAILED

Value

2252

HTTP Status Code

500

Description

The merchant failed to find the exchange to process the lookup.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_CONTRACT_NOT_FOUND

Value

2253

HTTP Status Code

404

Description

The merchant could not find the contract.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_REFUND_REFUSED_PAYMENT_COMPLETE

Value

2254

HTTP Status Code

412

Description

The payment was already completed and thus cannot be aborted anymore.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_CONTRACT_HASH_MISSMATCH

Value

2255

HTTP Status Code

403

Description

The hash provided by the wallet does not match the order.

TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_COINS_ARRAY_EMPTY

Value

2256

HTTP Status Code

400

Description

The array of coins cannot be empty.

TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_NOT_FOUND

Value

2300

HTTP Status Code

404

Description

We could not claim the order because the backend is unaware of it.

TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_ALREADY_CLAIMED

Value

2301

HTTP Status Code

409

Description

We could not claim the order because someone else claimed it first.

TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_CLIENT_INTERNAL_FAILURE

Value

2302

HTTP Status Code

0

Description

The client-side experienced an internal failure.

TALER_EC_MERCHANT_POST_ORDERS_ID_REFUND_SIGNATURE_FAILED

Value

2350

HTTP Status Code

0

Description

The backend failed to sign the refund request.

TALER_EC_MERCHANT_REWARD_PICKUP_UNBLIND_FAILURE

Value

2400

HTTP Status Code

0

Description

The client failed to unblind the signature returned by the merchant.

TALER_EC_MERCHANT_REWARD_PICKUP_EXCHANGE_ERROR

Value

2403

HTTP Status Code

502

Description

The exchange returned a failure code for the withdraw operation.

TALER_EC_MERCHANT_REWARD_PICKUP_SUMMATION_FAILED

Value

2404

HTTP Status Code

500

Description

The merchant failed to add up the amounts to compute the pick up value.

TALER_EC_MERCHANT_REWARD_PICKUP_HAS_EXPIRED

Value

2405

HTTP Status Code

410

Description

The reward expired.

TALER_EC_MERCHANT_REWARD_PICKUP_AMOUNT_EXCEEDS_REWARD_REMAINING

Value

2406

HTTP Status Code

400

Description

The requested withdraw amount exceeds the amount remaining to be picked up.

TALER_EC_MERCHANT_REWARD_PICKUP_DENOMINATION_UNKNOWN

Value

2407

HTTP Status Code

409

Description

The merchant did not find the specified denomination key in the exchange’s key set.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_INSTANCE_CONFIGURATION_LACKS_WIRE

Value

2500

HTTP Status Code

404

Description

The backend lacks a wire transfer method configuration option for the given instance. Thus, this instance is unavailable (not findable for creating new orders).

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_NO_LOCALTIME

Value

2501

HTTP Status Code

500

Description

The proposal had no timestamp and the backend failed to obtain the local time. Likely to be an internal error.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_PROPOSAL_PARSE_ERROR

Value

2502

HTTP Status Code

400

Description

The order provided to the backend could not be parsed, some required fields were missing or ill-formed.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ALREADY_EXISTS

Value

2503

HTTP Status Code

409

Description

The backend encountered an error: the proposal already exists.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_REFUND_AFTER_WIRE_DEADLINE

Value

2504

HTTP Status Code

400

Description

The request is invalid: the wire deadline is before the refund deadline.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_DELIVERY_DATE_IN_PAST

Value

2505

HTTP Status Code

400

Description

The request is invalid: a delivery date was given, but it is in the past.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_WIRE_DEADLINE_IS_NEVER

Value

2506

HTTP Status Code

400

Description

The request is invalid: the wire deadline for the order would be “never”.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_PAY_DEADLINE_IN_PAST

Value

2507

HTTP Status Code

400

Description

The request is invalid: a payment deadline was given, but it is in the past.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_REFUND_DEADLINE_IN_PAST

Value

2508

HTTP Status Code

400

Description

The request is invalid: a refund deadline was given, but it is in the past.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_NO_EXCHANGES_FOR_WIRE_METHOD

Value

2509

HTTP Status Code

409

Description

The backend does not trust any exchange that would allow funds to be wired to any bank account of this instance using the selected wire method. Note that right now, we do not support the use of exchange bank accounts with mandatory currency conversion.

TALER_EC_MERCHANT_PRIVATE_PATCH_ORDERS_ID_FORGET_PATH_SYNTAX_INCORRECT

Value

2510

HTTP Status Code

400

Description

One of the paths to forget is malformed.

TALER_EC_MERCHANT_PRIVATE_PATCH_ORDERS_ID_FORGET_PATH_NOT_FORGETTABLE

Value

2511

HTTP Status Code

409

Description

One of the paths to forget was not marked as forgettable.

TALER_EC_MERCHANT_PRIVATE_DELETE_ORDERS_AWAITING_PAYMENT

Value

2520

HTTP Status Code

409

Description

The order provided to the backend could not be deleted, our offer is still valid and awaiting payment.

TALER_EC_MERCHANT_PRIVATE_DELETE_ORDERS_ALREADY_PAID

Value

2521

HTTP Status Code

409

Description

The order provided to the backend could not be deleted as the order was already paid.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_INCONSISTENT_AMOUNT

Value

2530

HTTP Status Code

409

Description

The amount to be refunded is inconsistent: either is lower than the previous amount being awarded, or it is too big to be paid back. In this second case, the fault stays on the business dept. side.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_ORDER_UNPAID

Value

2531

HTTP Status Code

409

Description

The frontend gave an unpaid order id to issue the refund to.

TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_NOT_ALLOWED_BY_CONTRACT

Value

2532

HTTP Status Code

403

Description

The refund delay was set to 0 and thus no refunds are allowed for this order.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_EXCHANGE_UNKNOWN

Value

2550

HTTP Status Code

502

Description

The exchange says it does not know this transfer.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_REQUEST_ERROR

Value

2551

HTTP Status Code

502

Description

We internally failed to execute the /track/transfer request.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_TRANSFERS

Value

2552

HTTP Status Code

409

Description

The amount transferred differs between what was submitted and what the exchange claimed.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_REPORTS

Value

2553

HTTP Status Code

409

Description

The exchange gave conflicting information about a coin which has been wire transferred.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_BAD_WIRE_FEE

Value

2554

HTTP Status Code

502

Description

The exchange charged a different wire fee than what it originally advertised, and it is higher.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_ACCOUNT_NOT_FOUND

Value

2555

HTTP Status Code

404

Description

We did not find the account that the transfer was made to.

TALER_EC_MERCHANT_PRIVATE_DELETE_TRANSFERS_ALREADY_CONFIRMED

Value

2556

HTTP Status Code

409

Description

The backend could not delete the transfer as the echange already replied to our inquiry about it and we have integrated the result.

TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_SUBMISSION

Value

2557

HTTP Status Code

409

Description

The backend was previously informed about a wire transfer with the same ID but a different amount. Multiple wire transfers with the same ID are not allowed. If the new amount is correct, the old transfer should first be deleted.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_AWAITING_KEYS

Value

2258

HTTP Status Code

202

Description

We are waiting for the exchange to provide us with key material before checking the wire transfer.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_AWAITING_LIST

Value

2259

HTTP Status Code

202

Description

We are waiting for the exchange to provide us with the list of aggregated transactions.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_FATAL_NO_EXCHANGE

Value

2260

HTTP Status Code

200

Description

The endpoint indicated in the wire transfer does not belong to a GNU Taler exchange.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_FATAL_NOT_FOUND

Value

2261

HTTP Status Code

0

Description

The exchange indicated in the wire transfer claims to know nothing about the wire transfer.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_RATE_LIMITED

Value

2262

HTTP Status Code

202

Description

The interaction with the exchange is delayed due to rate limiting.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_TRANSIENT_FAILURE

Value

2263

HTTP Status Code

202

Description

We experienced a transient failure in our interaction with the exchange.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_HARD_FAILURE

Value

2264

HTTP Status Code

200

Description

The response from the exchange was unacceptable and should be reviewed with an auditor.

TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_CONFLICTING_TRANSFERS

Value

2563

HTTP Status Code

0

Description

The amount transferred differs between what was submitted and what the exchange claimed.

TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_ALREADY_EXISTS

Value

2600

HTTP Status Code

409

Description

The merchant backend cannot create an instance under the given identifier as one already exists. Use PATCH to modify the existing entry.

TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_BAD_AUTH

Value

2601

HTTP Status Code

400

Description

The merchant backend cannot create an instance because the authentication configuration field is malformed.

TALER_EC_MERCHANT_PRIVATE_POST_INSTANCE_AUTH_BAD_AUTH

Value

2602

HTTP Status Code

400

Description

The merchant backend cannot update an instance’s authentication settings because the provided authentication settings are malformed.

TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_PURGE_REQUIRED

Value

2603

HTTP Status Code

409

Description

The merchant backend cannot create an instance under the given identifier, the previous one was deleted but must be purged first.

TALER_EC_MERCHANT_PRIVATE_PATCH_INSTANCES_PURGE_REQUIRED

Value

2625

HTTP Status Code

409

Description

The merchant backend cannot update an instance under the given identifier, the previous one was deleted but must be purged first.

TALER_EC_MERCHANT_PRIVATE_ACCOUNT_DELETE_UNKNOWN_ACCOUNT

Value

2626

HTTP Status Code

404

Description

The bank account referenced in the requested operation was not found.

TALER_EC_MERCHANT_PRIVATE_ACCOUNT_EXISTS

Value

2627

HTTP Status Code

409

Description

The bank account specified in the request already exists at the merchant.

TALER_EC_MERCHANT_PRIVATE_POST_PRODUCTS_CONFLICT_PRODUCT_EXISTS

Value

2650

HTTP Status Code

409

Description

The product ID exists.

TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_LOST_REDUCED

Value

2660

HTTP Status Code

409

Description

The update would have reduced the total amount of product lost, which is not allowed.

TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_LOST_EXCEEDS_STOCKS

Value

2661

HTTP Status Code

400

Description

The update would have mean that more stocks were lost than what remains from total inventory after sales, which is not allowed.

TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_STOCKED_REDUCED

Value

2662

HTTP Status Code

409

Description

The update would have reduced the total amount of product in stock, which is not allowed.

TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_SOLD_REDUCED

Value

2663

HTTP Status Code

409

Description

The update would have reduced the total amount of product sold, which is not allowed.

TALER_EC_MERCHANT_PRIVATE_POST_PRODUCTS_LOCK_INSUFFICIENT_STOCKS

Value

2670

HTTP Status Code

410

Description

The lock request is for more products than we have left (unlocked) in stock.

TALER_EC_MERCHANT_PRIVATE_DELETE_PRODUCTS_CONFLICTING_LOCK

Value

2680

HTTP Status Code

409

Description

The deletion request is for a product that is locked.

TALER_EC_MERCHANT_PRIVATE_POST_RESERVES_UNSUPPORTED_WIRE_METHOD

Value

2700

HTTP Status Code

409

Description

The requested wire method is not supported by the exchange.

TALER_EC_MERCHANT_PRIVATE_POST_RESERVES_REWARDS_NOT_ALLOWED

Value

2701

HTTP Status Code

409

Description

The requested exchange does not allow rewards.

TALER_EC_MERCHANT_PRIVATE_DELETE_RESERVES_NO_SUCH_RESERVE

Value

2710

HTTP Status Code

404

Description

The reserve could not be deleted because it is unknown.

TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_EXPIRED

Value

2750

HTTP Status Code

410

Description

The reserve that was used to fund the rewards has expired.

TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_UNKNOWN

Value

2751

HTTP Status Code

503

Description

The reserve that was used to fund the rewards was not found in the DB.

TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_INSUFFICIENT_FUNDS

Value

2752

HTTP Status Code

0

Description

The backend knows the instance that was supposed to support the reward, and it was configured for rewardping. However, the funds remaining are insufficient to cover the reward, and the merchant should top up the reserve.

TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_NOT_FOUND

Value

2753

HTTP Status Code

503

Description

The backend failed to find a reserve needed to authorize the reward.

TALER_EC_MERCHANT_PRIVATE_GET_ORDERS_ID_AMOUNT_ARITHMETIC_FAILURE

Value

2800

HTTP Status Code

200

Description

The merchant backend encountered a failure in computing the deposit total.

TALER_EC_MERCHANT_PRIVATE_POST_TEMPLATES_CONFLICT_TEMPLATE_EXISTS

Value

2850

HTTP Status Code

409

Description

The template ID already exists.

TALER_EC_MERCHANT_PRIVATE_POST_OTP_DEVICES_CONFLICT_OTP_DEVICE_EXISTS

Value

2851

HTTP Status Code

409

Description

The OTP device ID already exists.

TALER_EC_MERCHANT_POST_USING_TEMPLATES_AMOUNT_CONFLICT_TEMPLATES_CONTRACT_AMOUNT

Value

2860

HTTP Status Code

409

Description

Amount given in the using template and in the template contract. There is a conflict.

TALER_EC_MERCHANT_POST_USING_TEMPLATES_SUMMARY_CONFLICT_TEMPLATES_CONTRACT_SUBJECT

Value

2861

HTTP Status Code

409

Description

Subject given in the using template and in the template contract. There is a conflict.

TALER_EC_MERCHANT_POST_USING_TEMPLATES_NO_AMOUNT

Value

2862

HTTP Status Code

409

Description

Amount not given in the using template and in the template contract. There is a conflict.

TALER_EC_MERCHANT_POST_USING_TEMPLATES_NO_SUMMARY

Value

2863

HTTP Status Code

409

Description

Subject not given in the using template and in the template contract. There is a conflict.

TALER_EC_MERCHANT_PRIVATE_POST_WEBHOOKS_CONFLICT_WEBHOOK_EXISTS

Value

2900

HTTP Status Code

409

Description

The webhook ID elready exists.

TALER_EC_MERCHANT_PRIVATE_POST_PENDING_WEBHOOKS_CONFLICT_PENDING_WEBHOOK_EXISTS

Value

2910

HTTP Status Code

409

Description

The webhook serial elready exists.

TALER_EC_AUDITOR_DEPOSIT_CONFIRMATION_SIGNATURE_INVALID

Value

3100

HTTP Status Code

403

Description

The signature from the exchange on the deposit confirmation is invalid.

TALER_EC_AUDITOR_EXCHANGE_SIGNING_KEY_REVOKED

Value

3101

HTTP Status Code

410

Description

The exchange key used for the signature on the deposit confirmation was revoked.

TALER_EC_BANK_SAME_ACCOUNT

Value

5101

HTTP Status Code

400

Description

Wire transfer attempted with credit and debit party being the same bank account.

TALER_EC_BANK_UNALLOWED_DEBIT

Value

5102

HTTP Status Code

409

Description

Wire transfer impossible, due to financial limitation of the party that attempted the payment.

TALER_EC_BANK_NEGATIVE_NUMBER_AMOUNT

Value

5103

HTTP Status Code

400

Description

Negative numbers are not allowed (as value and/or fraction) to instantiate an amount object.

TALER_EC_BANK_NUMBER_TOO_BIG

Value

5104

HTTP Status Code

400

Description

A too big number was used (as value and/or fraction) to instantiate an amount object.

TALER_EC_BANK_LOGIN_FAILED

Value

5105

HTTP Status Code

403

Description

Could not login for the requested operation.

TALER_EC_BANK_UNKNOWN_ACCOUNT

Value

5106

HTTP Status Code

404

Description

The bank account referenced in the requested operation was not found.

TALER_EC_BANK_TRANSACTION_NOT_FOUND

Value

5107

HTTP Status Code

404

Description

The transaction referenced in the requested operation (typically a reject operation), was not found.

TALER_EC_BANK_BAD_FORMAT_AMOUNT

Value

5108

HTTP Status Code

400

Description

Bank received a malformed amount string.

TALER_EC_BANK_REJECT_NO_RIGHTS

Value

5109

HTTP Status Code

403

Description

The client does not own the account credited by the transaction which is to be rejected, so it has no rights do reject it.

TALER_EC_BANK_UNMANAGED_EXCEPTION

Value

5110

HTTP Status Code

500

Description

This error code is returned when no known exception types captured the exception.

TALER_EC_BANK_SOFT_EXCEPTION

Value

5111

HTTP Status Code

500

Description

This error code is used for all those exceptions that do not really need a specific error code to return to the client. Used for example when a client is trying to register with a unavailable username.

TALER_EC_BANK_TRANSFER_REQUEST_UID_REUSED

Value

5112

HTTP Status Code

409

Description

The request UID for a request to transfer funds has already been used, but with different details for the transfer.

TALER_EC_BANK_WITHDRAWAL_OPERATION_RESERVE_SELECTION_CONFLICT

Value

5113

HTTP Status Code

409

Description

The withdrawal operation already has a reserve selected. The current request conflicts with the existing selection.

TALER_EC_BANK_DUPLICATE_RESERVE_PUB_SUBJECT

Value

5114

HTTP Status Code

409

Description

The wire transfer subject duplicates an existing reserve public key. But wire transfer subjects must be unique.

TALER_EC_BANK_ANCIENT_TRANSACTION_GONE

Value

5115

HTTP Status Code

410

Description

The client requested a transaction that is so far in the past, that it has been forgotten by the bank.

TALER_EC_BANK_ABORT_CONFIRM_CONFLICT

Value

5116

HTTP Status Code

409

Description

The client attempted to abort a transaction that was already confirmed.

TALER_EC_BANK_CONFIRM_ABORT_CONFLICT

Value

5117

HTTP Status Code

409

Description

The client attempted to confirm a transaction that was already aborted.

TALER_EC_BANK_REGISTER_CONFLICT

Value

5118

HTTP Status Code

409

Description

The client attempted to register an account with the same name.

TALER_EC_BANK_POST_WITHDRAWAL_OPERATION_REQUIRED

Value

5119

HTTP Status Code

400

Description

The client attempted to confirm a withdrawal operation before the wallet posted the required details.

TALER_EC_SYNC_ACCOUNT_UNKNOWN

Value

6100

HTTP Status Code

404

Description

The sync service failed find the account in its database.

TALER_EC_SYNC_BAD_IF_NONE_MATCH

Value

6101

HTTP Status Code

400

Description

The SHA-512 hash provided in the If-None-Match header is malformed.

TALER_EC_SYNC_BAD_IF_MATCH

Value

6102

HTTP Status Code

400

Description

The SHA-512 hash provided in the If-Match header is malformed or missing.

TALER_EC_SYNC_BAD_SYNC_SIGNATURE

Value

6103

HTTP Status Code

400

Description

The signature provided in the “Sync-Signature” header is malformed or missing.

TALER_EC_SYNC_INVALID_SIGNATURE

Value

6104

HTTP Status Code

403

Description

The signature provided in the “Sync-Signature” header does not match the account, old or new Etags.

TALER_EC_SYNC_MALFORMED_CONTENT_LENGTH

Value

6105

HTTP Status Code

400

Description

The “Content-length” field for the upload is not a number.

TALER_EC_SYNC_EXCESSIVE_CONTENT_LENGTH

Value

6106

HTTP Status Code

413

Description

The “Content-length” field for the upload is too big based on the server’s terms of service.

TALER_EC_SYNC_OUT_OF_MEMORY_ON_CONTENT_LENGTH

Value

6107

HTTP Status Code

413

Description

The server is out of memory to handle the upload. Trying again later may succeed.

TALER_EC_SYNC_INVALID_UPLOAD

Value

6108

HTTP Status Code

400

Description

The uploaded data does not match the Etag.

TALER_EC_SYNC_PAYMENT_GENERIC_TIMEOUT

Value

6109

HTTP Status Code

408

Description

HTTP server experienced a timeout while awaiting promised payment.

TALER_EC_SYNC_PAYMENT_CREATE_BACKEND_ERROR

Value

6110

HTTP Status Code

500

Description

Sync could not setup the payment request with its own backend.

TALER_EC_SYNC_PREVIOUS_BACKUP_UNKNOWN

Value

6111

HTTP Status Code

404

Description

The sync service failed find the backup to be updated in its database.

TALER_EC_SYNC_MISSING_CONTENT_LENGTH

Value

6112

HTTP Status Code

400

Description

The “Content-length” field for the upload is missing.

TALER_EC_SYNC_GENERIC_BACKEND_ERROR

Value

6113

HTTP Status Code

502

Description

Sync had problems communicating with its payment backend.

TALER_EC_SYNC_GENERIC_BACKEND_TIMEOUT

Value

6114

HTTP Status Code

504

Description

Sync experienced a timeout communicating with its payment backend.

TALER_EC_WALLET_EXCHANGE_PROTOCOL_VERSION_INCOMPATIBLE

Value

7000

HTTP Status Code

501

Description

The wallet does not implement a version of the exchange protocol that is compatible with the protocol version of the exchange.

TALER_EC_WALLET_UNEXPECTED_EXCEPTION

Value

7001

HTTP Status Code

500

Description

The wallet encountered an unexpected exception. This is likely a bug in the wallet implementation.

TALER_EC_WALLET_RECEIVED_MALFORMED_RESPONSE

Value

7002

HTTP Status Code

0

Description

The wallet received a response from a server, but the response can’t be parsed.

TALER_EC_WALLET_NETWORK_ERROR

Value

7003

HTTP Status Code

0

Description

The wallet tried to make a network request, but it received no response.

TALER_EC_WALLET_HTTP_REQUEST_THROTTLED

Value

7004

HTTP Status Code

0

Description

The wallet tried to make a network request, but it was throttled.

TALER_EC_WALLET_UNEXPECTED_REQUEST_ERROR

Value

7005

HTTP Status Code

0

Description

The wallet made a request to a service, but received an error response it does not know how to handle.

TALER_EC_WALLET_EXCHANGE_DENOMINATIONS_INSUFFICIENT

Value

7006

HTTP Status Code

0

Description

The denominations offered by the exchange are insufficient. Likely the exchange is badly configured or not maintained.

TALER_EC_WALLET_CORE_API_OPERATION_UNKNOWN

Value

7007

HTTP Status Code

0

Description

The wallet does not support the operation requested by a client.

TALER_EC_WALLET_INVALID_TALER_PAY_URI

Value

7008

HTTP Status Code

0

Description

The given taler://pay URI is invalid.

TALER_EC_WALLET_EXCHANGE_COIN_SIGNATURE_INVALID

Value

7009

HTTP Status Code

0

Description

The signature on a coin by the exchange’s denomination key is invalid after unblinding it.

TALER_EC_WALLET_EXCHANGE_WITHDRAW_RESERVE_UNKNOWN_AT_EXCHANGE

Value

7010

HTTP Status Code

404

Description

The exchange does not know about the reserve (yet), and thus withdrawal can’t progress.

TALER_EC_WALLET_CORE_NOT_AVAILABLE

Value

7011

HTTP Status Code

0

Description

The wallet core service is not available.

TALER_EC_WALLET_WITHDRAWAL_OPERATION_ABORTED_BY_BANK

Value

7012

HTTP Status Code

0

Description

The bank has aborted a withdrawal operation, and thus a withdrawal can’t complete.

TALER_EC_WALLET_HTTP_REQUEST_GENERIC_TIMEOUT

Value

7013

HTTP Status Code

0

Description

An HTTP request made by the wallet timed out.

TALER_EC_WALLET_ORDER_ALREADY_CLAIMED

Value

7014

HTTP Status Code

0

Description

The order has already been claimed by another wallet.

TALER_EC_WALLET_WITHDRAWAL_GROUP_INCOMPLETE

Value

7015

HTTP Status Code

0

Description

A group of withdrawal operations (typically for the same reserve at the same exchange) has errors and will be tried again later.

TALER_EC_WALLET_REWARD_COIN_SIGNATURE_INVALID

Value

7016

HTTP Status Code

0

Description

The signature on a coin by the exchange’s denomination key (obtained through the merchant via a reward) is invalid after unblinding it.

TALER_EC_WALLET_BANK_INTEGRATION_PROTOCOL_VERSION_INCOMPATIBLE

Value

7017

HTTP Status Code

0

Description

The wallet does not implement a version of the bank integration API that is compatible with the version offered by the bank.

TALER_EC_WALLET_CONTRACT_TERMS_BASE_URL_MISMATCH

Value

7018

HTTP Status Code

0

Description

The wallet processed a taler://pay URI, but the merchant base URL in the downloaded contract terms does not match the merchant base URL derived from the URI.

TALER_EC_WALLET_CONTRACT_TERMS_SIGNATURE_INVALID

Value

7019

HTTP Status Code

0

Description

The merchant’s signature on the contract terms is invalid.

TALER_EC_WALLET_CONTRACT_TERMS_MALFORMED

Value

7020

HTTP Status Code

0

Description

The contract terms given by the merchant are malformed.

TALER_EC_WALLET_PENDING_OPERATION_FAILED

Value

7021

HTTP Status Code

0

Description

A pending operation failed, and thus the request can’t be completed.

TALER_EC_WALLET_PAY_MERCHANT_SERVER_ERROR

Value

7022

HTTP Status Code

0

Description

A payment was attempted, but the merchant had an internal server error (5xx).

TALER_EC_WALLET_CRYPTO_WORKER_ERROR

Value

7023

HTTP Status Code

0

Description

The crypto worker failed.

TALER_EC_WALLET_CRYPTO_WORKER_BAD_REQUEST

Value

7024

HTTP Status Code

0

Description

The crypto worker received a bad request.

TALER_EC_WALLET_WITHDRAWAL_KYC_REQUIRED

Value

7025

HTTP Status Code

0

Description

A KYC step is required before withdrawal can proceed.

TALER_EC_WALLET_DEPOSIT_GROUP_INSUFFICIENT_BALANCE

Value

7026

HTTP Status Code

0

Description

The wallet does not have sufficient balance to create a deposit group.

TALER_EC_WALLET_PEER_PUSH_PAYMENT_INSUFFICIENT_BALANCE

Value

7027

HTTP Status Code

0

Description

The wallet does not have sufficient balance to create a peer push payment.

TALER_EC_WALLET_PEER_PULL_PAYMENT_INSUFFICIENT_BALANCE

Value

7028

HTTP Status Code

0

Description

The wallet does not have sufficient balance to pay for an invoice.

TALER_EC_WALLET_REFRESH_GROUP_INCOMPLETE

Value

7029

HTTP Status Code

0

Description

A group of refresh operations has errors and will be tried again later.

TALER_EC_WALLET_EXCHANGE_BASE_URL_MISMATCH

Value

7030

HTTP Status Code

0

Description

The exchange’s self-reported base URL does not match the one that the wallet is using.

TALER_EC_WALLET_ORDER_ALREADY_PAID

Value

7031

HTTP Status Code

0

Description

The order has already been paid by another wallet.

TALER_EC_ANASTASIS_GENERIC_BACKEND_TIMEOUT

Value

8000

HTTP Status Code

504

Description

We encountered a timeout with our payment backend.

TALER_EC_ANASTASIS_GENERIC_INVALID_PAYMENT_REQUEST

Value

8001

HTTP Status Code

0

Description

The backend requested payment, but the request is malformed.

TALER_EC_ANASTASIS_GENERIC_BACKEND_ERROR

Value

8002

HTTP Status Code

502

Description

The backend got an unexpected reply from the payment processor.

TALER_EC_ANASTASIS_GENERIC_MISSING_CONTENT_LENGTH

Value

8003

HTTP Status Code

400

Description

The “Content-length” field for the upload is missing.

TALER_EC_ANASTASIS_GENERIC_MALFORMED_CONTENT_LENGTH

Value

8004

HTTP Status Code

400

Description

The “Content-length” field for the upload is malformed.

TALER_EC_ANASTASIS_GENERIC_ORDER_CREATE_BACKEND_ERROR

Value

8005

HTTP Status Code

502

Description

The backend failed to setup an order with the payment processor.

TALER_EC_ANASTASIS_GENERIC_PAYMENT_CHECK_UNAUTHORIZED

Value

8006

HTTP Status Code

500

Description

The backend was not authorized to check for payment with the payment processor.

TALER_EC_ANASTASIS_GENERIC_PAYMENT_CHECK_START_FAILED

Value

8007

HTTP Status Code

500

Description

The backend could not check payment status with the payment processor.

TALER_EC_ANASTASIS_GENERIC_PROVIDER_UNREACHABLE

Value

8008

HTTP Status Code

0

Description

The Anastasis provider could not be reached.

TALER_EC_ANASTASIS_PAYMENT_GENERIC_TIMEOUT

Value

8009

HTTP Status Code

408

Description

HTTP server experienced a timeout while awaiting promised payment.

TALER_EC_ANASTASIS_TRUTH_UNKNOWN

Value

8108

HTTP Status Code

404

Description

The key share is unknown to the provider.

TALER_EC_ANASTASIS_TRUTH_AUTHORIZATION_METHOD_NO_LONGER_SUPPORTED

Value

8109

HTTP Status Code

500

Description

The authorization method used for the key share is no longer supported by the provider.

TALER_EC_ANASTASIS_TRUTH_CHALLENGE_RESPONSE_REQUIRED

Value

8110

HTTP Status Code

403

Description

The client needs to respond to the challenge.

TALER_EC_ANASTASIS_TRUTH_CHALLENGE_FAILED

Value

8111

HTTP Status Code

403

Description

The client’s response to the challenge was invalid.

TALER_EC_ANASTASIS_TRUTH_CHALLENGE_UNKNOWN

Value

8112

HTTP Status Code

404

Description

The backend is not aware of having issued the provided challenge code. Either this is the wrong code, or it has expired.

TALER_EC_ANASTASIS_TRUTH_AUTHORIZATION_START_FAILED

Value

8114

HTTP Status Code

500

Description

The backend failed to initiate the authorization process.

TALER_EC_ANASTASIS_TRUTH_KEY_SHARE_GONE

Value

8115

HTTP Status Code

404

Description

The authorization succeeded, but the key share is no longer available.

TALER_EC_ANASTASIS_TRUTH_ORDER_DISAPPEARED

Value

8116

HTTP Status Code

502

Description

The backend forgot the order we asked the client to pay for

TALER_EC_ANASTASIS_TRUTH_BACKEND_EXCHANGE_BAD

Value

8117

HTTP Status Code

502

Description

The backend itself reported a bad exchange interaction.

TALER_EC_ANASTASIS_TRUTH_UNEXPECTED_PAYMENT_STATUS

Value

8118

HTTP Status Code

500

Description

The backend reported a payment status we did not expect.

TALER_EC_ANASTASIS_TRUTH_PAYMENT_CREATE_BACKEND_ERROR

Value

8119

HTTP Status Code

502

Description

The backend failed to setup the order for payment.

TALER_EC_ANASTASIS_TRUTH_DECRYPTION_FAILED

Value

8120

HTTP Status Code

400

Description

The decryption of the key share failed with the provided key.

TALER_EC_ANASTASIS_TRUTH_RATE_LIMITED

Value

8121

HTTP Status Code

429

Description

The request rate is too high. The server is refusing requests to guard against brute-force attacks.

TALER_EC_ANASTASIS_TRUTH_CHALLENGE_WRONG_METHOD

Value

8123

HTTP Status Code

400

Description

A request to issue a challenge is not valid for this authentication method.

TALER_EC_ANASTASIS_TRUTH_UPLOAD_UUID_EXISTS

Value

8150

HTTP Status Code

409

Description

The backend failed to store the key share because the UUID is already in use.

TALER_EC_ANASTASIS_TRUTH_UPLOAD_METHOD_NOT_SUPPORTED

Value

8151

HTTP Status Code

400

Description

The backend failed to store the key share because the authorization method is not supported.

TALER_EC_ANASTASIS_SMS_PHONE_INVALID

Value

8200

HTTP Status Code

409

Description

The provided phone number is not an acceptable number.

TALER_EC_ANASTASIS_SMS_HELPER_EXEC_FAILED

Value

8201

HTTP Status Code

500

Description

Failed to run the SMS transmission helper process.

TALER_EC_ANASTASIS_SMS_HELPER_COMMAND_FAILED

Value

8202

HTTP Status Code

500

Description

Provider failed to send SMS. Helper terminated with a non-successful result.

TALER_EC_ANASTASIS_EMAIL_INVALID

Value

8210

HTTP Status Code

409

Description

The provided email address is not an acceptable address.

TALER_EC_ANASTASIS_EMAIL_HELPER_EXEC_FAILED

Value

8211

HTTP Status Code

500

Description

Failed to run the E-mail transmission helper process.

TALER_EC_ANASTASIS_EMAIL_HELPER_COMMAND_FAILED

Value

8212

HTTP Status Code

500

Description

Provider failed to send E-mail. Helper terminated with a non-successful result.

TALER_EC_ANASTASIS_POST_INVALID

Value

8220

HTTP Status Code

409

Description

The provided postal address is not an acceptable address.

TALER_EC_ANASTASIS_POST_HELPER_EXEC_FAILED

Value

8221

HTTP Status Code

500

Description

Failed to run the mail transmission helper process.

TALER_EC_ANASTASIS_POST_HELPER_COMMAND_FAILED

Value

8222

HTTP Status Code

500

Description

Provider failed to send mail. Helper terminated with a non-successful result.

TALER_EC_ANASTASIS_IBAN_INVALID

Value

8230

HTTP Status Code

409

Description

The provided IBAN address is not an acceptable IBAN.

TALER_EC_ANASTASIS_IBAN_MISSING_TRANSFER

Value

8231

HTTP Status Code

403

Description

The provider has not yet received the IBAN wire transfer authorizing the disclosure of the key share.

TALER_EC_ANASTASIS_TOTP_KEY_MISSING

Value

8240

HTTP Status Code

409

Description

The backend did not find a TOTP key in the data provided.

TALER_EC_ANASTASIS_TOTP_KEY_INVALID

Value

8241

HTTP Status Code

409

Description

The key provided does not satisfy the format restrictions for an Anastasis TOTP key.

TALER_EC_ANASTASIS_POLICY_BAD_IF_NONE_MATCH

Value

8301

HTTP Status Code

400

Description

The given if-none-match header is malformed.

TALER_EC_ANASTASIS_POLICY_OUT_OF_MEMORY_ON_CONTENT_LENGTH

Value

8304

HTTP Status Code

413

Description

The server is out of memory to handle the upload. Trying again later may succeed.

TALER_EC_ANASTASIS_POLICY_BAD_SIGNATURE

Value

8305

HTTP Status Code

400

Description

The signature provided in the “Anastasis-Policy-Signature” header is malformed or missing.

TALER_EC_ANASTASIS_POLICY_BAD_IF_MATCH

Value

8306

HTTP Status Code

400

Description

The given if-match header is malformed.

TALER_EC_ANASTASIS_POLICY_INVALID_UPLOAD

Value

8307

HTTP Status Code

400

Description

The uploaded data does not match the Etag.

TALER_EC_ANASTASIS_POLICY_NOT_FOUND

Value

8350

HTTP Status Code

404

Description

The provider is unaware of the requested policy.

TALER_EC_ANASTASIS_REDUCER_ACTION_INVALID

Value

8400

HTTP Status Code

0

Description

The given action is invalid for the current state of the reducer.

TALER_EC_ANASTASIS_REDUCER_STATE_INVALID

Value

8401

HTTP Status Code

0

Description

The given state of the reducer is invalid.

TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID

Value

8402

HTTP Status Code

0

Description

The given input to the reducer is invalid.

TALER_EC_ANASTASIS_REDUCER_AUTHENTICATION_METHOD_NOT_SUPPORTED

Value

8403

HTTP Status Code

0

Description

The selected authentication method does not work for the Anastasis provider.

TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID_FOR_STATE

Value

8404

HTTP Status Code

0

Description

The given input and action do not work for the current state.

TALER_EC_ANASTASIS_REDUCER_BACKEND_FAILURE

Value

8405

HTTP Status Code

0

Description

We experienced an unexpected failure interacting with the backend.

TALER_EC_ANASTASIS_REDUCER_RESOURCE_MALFORMED

Value

8406

HTTP Status Code

0

Description

The contents of a resource file did not match our expectations.

TALER_EC_ANASTASIS_REDUCER_RESOURCE_MISSING

Value

8407

HTTP Status Code

0

Description

A required resource file is missing.

TALER_EC_ANASTASIS_REDUCER_INPUT_REGEX_FAILED

Value

8408

HTTP Status Code

0

Description

An input did not match the regular expression.

TALER_EC_ANASTASIS_REDUCER_INPUT_VALIDATION_FAILED

Value

8409

HTTP Status Code

0

Description

An input did not match the custom validation logic.

TALER_EC_ANASTASIS_REDUCER_POLICY_LOOKUP_FAILED

Value

8410

HTTP Status Code

0

Description

Our attempts to download the recovery document failed with all providers. Most likely the personal information you entered differs from the information you provided during the backup process and you should go back to the previous step. Alternatively, if you used a backup provider that is unknown to this application, you should add that provider manually.

TALER_EC_ANASTASIS_REDUCER_BACKUP_PROVIDER_FAILED

Value

8411

HTTP Status Code

0

Description

Anastasis provider reported a fatal failure.

TALER_EC_ANASTASIS_REDUCER_PROVIDER_CONFIG_FAILED

Value

8412

HTTP Status Code

0

Description

Anastasis provider failed to respond to the configuration request.

TALER_EC_ANASTASIS_REDUCER_POLICY_MALFORMED

Value

8413

HTTP Status Code

0

Description

The policy we downloaded is malformed. Must have been a client error while creating the backup.

TALER_EC_ANASTASIS_REDUCER_NETWORK_FAILED

Value

8414

HTTP Status Code

0

Description

We failed to obtain the policy, likely due to a network issue.

TALER_EC_ANASTASIS_REDUCER_SECRET_MALFORMED

Value

8415

HTTP Status Code

0

Description

The recovered secret did not match the required syntax.

TALER_EC_ANASTASIS_REDUCER_CHALLENGE_DATA_TOO_BIG

Value

8416

HTTP Status Code

0

Description

The challenge data provided is too large for the available providers.

TALER_EC_ANASTASIS_REDUCER_SECRET_TOO_BIG

Value

8417

HTTP Status Code

0

Description

The provided core secret is too large for some of the providers.

TALER_EC_ANASTASIS_REDUCER_PROVIDER_INVALID_CONFIG

Value

8418

HTTP Status Code

0

Description

The provider returned in invalid configuration.

TALER_EC_ANASTASIS_REDUCER_INTERNAL_ERROR

Value

8419

HTTP Status Code

0

Description

The reducer encountered an internal error, likely a bug that needs to be reported.

TALER_EC_ANASTASIS_REDUCER_PROVIDERS_ALREADY_SYNCED

Value

8420

HTTP Status Code

0

Description

The reducer already synchronized with all providers.

TALER_EC_LIBEUFIN_NEXUS_GENERIC_ERROR

Value

9000

HTTP Status Code

0

Description

A generic error happened in the LibEuFin nexus. See the enclose details JSON for more information.

TALER_EC_LIBEUFIN_NEXUS_UNCAUGHT_EXCEPTION

Value

9001

HTTP Status Code

500

Description

An uncaught exception happened in the LibEuFin nexus service.

TALER_EC_LIBEUFIN_SANDBOX_GENERIC_ERROR

Value

9500

HTTP Status Code

0

Description

A generic error happened in the LibEuFin sandbox. See the enclose details JSON for more information.

TALER_EC_LIBEUFIN_SANDBOX_UNCAUGHT_EXCEPTION

Value

9501

HTTP Status Code

500

Description

An uncaught exception happened in the LibEuFin sandbox service.

TALER_EC_TALDIR_METHOD_NOT_SUPPORTED

Value

9600

HTTP Status Code

404

Description

This validation method is not supported by the service.

TALER_EC_TALDIR_REGISTER_RATE_LIMITED

Value

9601

HTTP Status Code

429

Description

Number of allowed attempts for initiating a challenge exceeded.

TALER_EC_CHALLENGER_GENERIC_CLIENT_UNKNOWN

Value

9750

HTTP Status Code

404

Description

The client is unknown or unauthorized.

TALER_EC_CHALLENGER_GENERIC_CLIENT_FORBIDDEN_BAD_REDIRECT_URI

Value

9751

HTTP Status Code

403

Description

The client is not authorized to use the given redirect URI.

TALER_EC_CHALLENGER_HELPER_EXEC_FAILED

Value

9752

HTTP Status Code

500

Description

The service failed to execute its helper process to send the challenge.

TALER_EC_CHALLENGER_GRANT_UNKNOWN

Value

9753

HTTP Status Code

404

Description

The grant is unknown to the service (it could also have expired).

TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_BAD_CODE

Value

9754

HTTP Status Code

403

Description

The code given is not even well-formed.

TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN

Value

9755

HTTP Status Code

404

Description

The service is not aware of the referenced validation process.

TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_INVALID_CODE

Value

9756

HTTP Status Code

403

Description

The code given is not valid.

TALER_EC_CHALLENGER_TOO_MANY_ATTEMPTS

Value

9757

HTTP Status Code

429

Description

Too many attempts have been made, validation is temporarily disabled for this address.

TALER_EC_CHALLENGER_INVALID_PIN

Value

9758

HTTP Status Code

403

Description

The PIN code provided is incorrect.

TALER_EC_END

Value

9999

HTTP Status Code

0

Description

End of error code range.