Error Handling
Every erred response contains an error object such as:
{
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid request",
"requestId": "c4e5fcb8-5e44-4dd6-9ac0-d71429cdd44c",
"details": {
"age": ["min value is 0"]
}
}
}
The error object contains the following properties:
  • code: a string defining type of error (see error codes below for more details)
  • message: a string describing the error in a more humanly readable way,
  • requestId: the unique string identifier of your request, used for debug purposes,
  • details: an object or array with more details about the issue. In this example, client had sent a negative age, hence the invalid request.
All endpoints would use the same error structure for the body, whatever the response code.

Error Codes

Code
HTTP Status
Description
INVALID_REQUEST
400
The list of provided parameters was invalid.
ACCESS_DENIED
403
Missing or invalid token (it should be in the x-api-key header).
NOT_FOUND
404
The endpoint, or one of your entity, has not been found.
METHOD_NOT_ALLOWED
405
The method used to request and endpoint is not supported (eg. POST instead of GET)
UNSUPPORTED_MEDIA_TYPE
415
The request header Content-Type was not found or invalid (the Tint API only supports application/json).
INTERNAL_ERROR
500
Something wrong happened on our side. We have been alerted, no need to contact us.
PREDICTION_ERROR
500
An error occurred while calculating one of your prediction. There are probably some unhandled edge cases in your model configuration.
DATA_SOURCE_ERROR
500
An issue occurred with an external data vendor.

FAQ

How can I fix the "Connection reset by peer" error?
From all the issues that may happen between your application and our API, networking is the one where we have the less control. If, for some reason, the connection between your service and our API breaks, you may receive a Connection reset by peer error.
We highly recommend to setup a retry mechanism to bypass these errors:
  1. 1.
    Send your request to Tint API server,
  2. 2.
    If it fails, send the same request 1s later,
  3. 3.
    If it still fails, send the same request 2s later,
  4. 4.
    If it still fails, send the same request 5s later.
This process can also apply to responses that ended with an HTTP 500 error.
If the error still occurs after several retries, feel free to reach out via your Slack channel, or by email.
Your API doesn't work anymore. Are you down?
If you encounter some issues with our API, like:
  • Unusually slow requests,
  • Elevated error rates,
  • Timeouts on your requests
You can wonder if our API is still operational. We have a status page to check it out. Our on-call team would add an incident on this page if there is anything wrong.
Moreover, if you want to be alerted as soon as we are down, you can also subscribe to our status updates. This way, you will also be warned about our maintenance windows.
Copy link