Login 24/7 Support Community tyk.io

Error Templates

In v2.2 the error handler allowed the use a single JSON template to communicate errors to users (a default one is shipped with Tyk, it’s located in templates/error.json).

As of v2.3 it is possible to use different templates for specific HTTP error codes. The content-type header of the request is also checked, enabling the usage of different template formats, e.g. an XML template.

Use Cases

JSON Request

When a HTTP 500 error occurs, and the request is a JSON request, Tyk will follow this logic:

  • If templates/error_500.json exists, this template will be used.
  • Otherwise, Tyk will use templates/error.json.

XML Request

When a HTTP 500 error occurs, and the request is a XML request, Tyk will follow this logic:

  • If templates/error_500.xml exists, this template will be used.
  • If no specific template exists for this HTTP code, templates/error.xml will be used.
  • If error.xml doesn’t exist, templates/error.json will be used.

Removing the X-Generator Header

In case of an error, the Tyk Gateway adds the following fixed header and value: X-Generator: tyk.io Please note that for 404 Not found errors, Tyk will not return this header from a security perspective. To mitigate this issue, in case you want to better understand your clients and provide you, the manager of the platform, with error information, you can set track_404_logs to true in your tyk.conf which will then produce error logs showing the resources that were requested and not found.

If you don’t want to return our default X-Generator header (set to tyk.io) in your templates, set hide_generator_header to true in your tyk.conf file