Skip to content

Response Codes & Error Codes

Response Headers

Custom HTTP response header fields are used to report errors or information that is not specific to a request payload.

Custom header fieldDescription
X-H-ERROR-IDError ID that caused the call to fail, see here for a list of possible values. If that field is present and HTTP Code is 200 the call will be evaluated as failed as if an HTTP Code 400 would have been received.
X-H-ERROR-MSGTextual representation of the error that caused the call to fail.
The following headers are only used internally
X-H-OPERATOR-ERROR_IDinformational, an error that could be passed by a third party operator / game provider
X-H-REPEATCOUNTInternal informational, how often a call was put into retry queue
X-H-DELAYNEXTRETRYInternal informational, TS in UTC when call should be retried again
X-H-DONOTDELAYInternal information ,if set to "yes" do not put that transaction into delayed payment queue for processing

Error Reporting / Handling

Every request will be answered with a HTTP return code which represents the overall success or failure of a call. Additional information might be given by custom header fields and/or the response payload of the request. Check below when calls can / should be retried.

NOTE: In general when receiving a HTTP return code of 200 it is assumed the call was successful and any possible error information given in the response payload should be ignored. In the case that a X-H-ERROR-ID response header field is present and HTTP Code is 200 the call will be evaluated as failed as if an HTTP Code 400 would have been received.

HTTP return codes

Return codeDescriptionretry y/n
Success codes, response will be in JSON format
200Request was received and authenticated correctly and operation succeeded without errors. NOTE: receiving an HTTP code 200 means that the call was successful, any error reported in an errorCode object will be ignored unless a X-H-ERROR-ID is received.can be repeated (all calls should be idempotent)
Error codes which mean the request was received but an error occurred during processing: check optional X-H-ERROR-ID and X-H-ERROR-MSG response header fields for optional details, request might also contain more information in response
400The request could not be processed due to an error processing the request payload.do not retry
401Signature of request was wrong and no other authorisation could be performed.do not retry
403Call was authenticated but no permission to use the endpoint is found.do not retry
404Endpoint was not found.do not retry
405Method (GET/POST) is wrong or not allowed.do not retry
429Rate limit exceeded, if you get that error repeatedly please contact customer supportretry after waiting some time
451Content not available due to legal reasionsdo not retry
4xxSome other not specific errors occurred.do not retry
Error codes that indicate a internal problem which should be treated as temporary
5xxAn unexpected error occurred.call should be retried unless a X-H-DONOTRETRY header is received
501API call not implementeddo not retry

Error codes sent via X-H-ERROR-ID field or used in errorCode object

The following error codes could be sent in the custom response header field. In most cases you will also get a textual description of the error. These values (column Return code) are also used to identify known errors when an errorCode object is sent or received.

ErrorcodeReturn codeDescription
SUCCESS0Call was successful.
PLAYERNOTFOUND1Player not found.
PLAYERBLOCKED2Player is blocked.
BALANCETOOLOW10Balance not sufficient to make a debit
BETLIMITREACHED11Bet limit reached. The user bet limit is reached and therefore the bet cannot be accepted.
GAMEROUNDALREADYSTARTED12gameround is already started (i.e. an initial bet was already received). This error should be sent in case a second initial bet with a different transaction hash is received
GAMEROUNDNOTACTIVE13gameround not active, this should be sent in case the game round hash is known but the game round has already been closed
GAMEROUNDNOTFOUND14gameround hash not found. this should be sent whenever a transaction is received and the game round hash is unknown (unless an initial debit with isFirstDebit is true is received, as this indicates the start of a new gameround
GAMEROUNDNOTSTARTED15gameround not started. This error should be sent in the case a debit with isFirstDebit is false or a credit call is received and the gameround hash is known but for unknown reasons the initial debit was not received. This should normally never happen and indicates an implementation problem.
TRANSACTIONCOUNTWRONG16transactionCount and count of transaction passed are not the same in a doTransaction call. This should normally never happen and indicates an implementation problem.
GAMEROUNDPLAYERMISMATCH17gameround / user id mismatch. The gameround hash passed does not belong to the passed playerid
CURRENCYINVALID18the currency passed is not valid or not available for that player or game
INVALIDPARAMETER19An invalid value for a parameter was received
TRANSACTIONAFTEREND20Inside a gameTransaction package list a debit / credit was received after a end transaction
GAMEROUNDISLOCKED21The gameround is locked or a credit call is being retried. The player is not able to start new games until the gameround is unlocked. After 24 hours the gameround will be marked as stranded and manual reconciliation should be done. Player can start new games after that time
GAMEROUNDISCLOSING22The gameround is in the process of being closed but the operator didn't accept the end game round call so far. Player can start new games.
SPINNOTAVAILABLE23Requested spin type (free or bonus) is not available (this should be handled the same way as a low balance error)
DEBITSHOULDBECANCELLED24A debit failed, should be cancelled (only for internal EveryMatrix usage)
COOLOFFPERIODACTIVE25Player is in a cool off period
TRANSACTIONSARERETRYING26New transactions are received but there are pending ones (internal error)
ENDTRANSACTIONALREADYRECEIVED27New transactions are received but end transaction was already processed before and is being retried (internal error)
REGIONISBLOCKED28Request was blocked for legal reasons
NOTLOGGEDON29Player is not logged in the casino
RESPONSIBLEGAMINGLIMITREACHED30Bet limit reached
RESPONSIBLESGAMINGSESSIONEXPIRED31Session limit reached, expired
PLAYERNOAUTHENTICATED32Player is not known in the casino
DISCOUNTNOTELIGIBLE33Discount submitted in doTransactions is not eligible
GENERICBETERROR34Some unexpected error occurred on a debit transaction
GENERICWINERROR35Some unexpected error occurred on a credit transaction
OPERATIONBEINGPROCESSED36Another transaction is processing
TRANSACTIONALREADYEXISTS37Transaction was already processed
REALITYCHECK38Reality check triggered by the operator
SIGNATUREWRONG1001Signature is incorrect
PAYLOADNOTJSON1002Payload received is not a valid json
WRONGHEADERS1003headers fields missing or wrong
PARAMETERMISSING1004a mandatory parameter was missing in the request
INVALIDGAMEMODE1005an invalid game mode was passed
GAMECODENOTFOUND1006game code not found or not available
GAMECONFIGNOTSUPPORTED1007requested game config is not supported
SESSIONINVALID1008the session is expired or invalid, game should be reloaded by requesting a new launch url via getGameURL call
RNGFAILURE1009The RNG failed
NETWORKERROR1010A general network error occurred
DATASTRUCTUREWRONG1200Payload sent is wrong
RATELIMITEXCEEDED1300A rate limit was exceeded (usually also reported with a HTTP status code of 429)
UNEXPECTED-1An unexpected error occurred which could not be specified in detail.