Skip to main content

Errors

The Fraugster API uses conventional HTTP response codes to indicate the success or failure of a request. Codes in the 2xx range indicate success. Codes in the 4xx range indicate a content error – the request failed given the information provided (e.g., you used an invalid session token or your session token has expired). Codes in the 5xx range indicate an error on Fraugster's end.

HTTP status codes

Status codeMeaning
200 – OKEverything worked as expected.
400 – Bad requestThe request is unacceptable, often due to a missing required parameter.
401 – UnauthorizedNo valid session token provided.
429 – Too many requestsYour server sent too many requests (see Rate limits for more information).
500 – Server errorSomething went wrong on Fraugster's end.

Rate limits

If you send normal rates of traffic to Fraugster, you should not get any error messages suggesting too many requests. That said, Fraugster employs safeguards against bursts of incoming traffic to help maximize the system stability. If you suddenly start sending anomalously big amounts of traffic, Fraugster's rate limiter kicks in. You may see error responses (429), limiting incoming traffic that appears to be abusive. The main rate limiter in our system limits the number of new transaction requests received by the API per second, and over a sliding window of 60 seconds.

Handling errors

Content errors return an HTTP response with a 4xx error code. For example, the API servers might return a 400 if a required datapoint was missing when a transaction was sent. Integrations should correct the original request, and try again.

A basic technique to handle rate limits is to watch for 429 status codes and build a retry mechanism. We suggest that the retry mechanism follows an exponential backoff schedule to reduce request volume when necessary. That is, wait at least 10 seconds before retrying. If after the first retry the traffic doesn't go through, wait for 20 seconds before retrying again.

Server errors (5xx error code) are the result of a problem with Fraugster’s servers. We work to make these errors as rare as possible. We have alerting on our side that notifies us if something is not working. That said, integrations should be able to handle these errors when they occur. You can also log the response status code as well as the body and let us know.