Webhooks: what to do when the HTTP status code starts with a four (4xx) or five (5xx)

An HTTP status code in the 400-499 or 500-599 range comes from your server, and indicates your system received the request but was unable to process it. Try the following:

  1. In the Dashboard, look at the Response from your server for additional information: There may not be any additional information in the response; it depends on how your server is configured and how your code is designed to respond to errors

  2. Check your server logs for errors or warnings: These errors should point you to the source of the error response, which might be your webhook handling code or a configuration issue on your server

  3. Confirm the Event received has an API version your code is able to handle: API versions define the structure of the object contained in an Event; an API version mismatch between an incoming Event and your processing code may result in unexpected errors

Some common errors that cause 4xx and 5xx status codes and their solutions are detailed below.

Error: no signatures found matching the expected signature for payload

This or a similar error (the wording may vary from one library to another) means the webhook signature verification process failed. This error is usually caused by one of the following:

Error: timestamp outside the tolerance zone

This or a similar error (the wording may vary from one library to another) means the Event received is too old to successfully verify. Webhook signatures have a time component, and must be verified shortly after being received.

Try the following:

Internal server error

These errors are usually caused by code throwing an exception, a parsing error, or some kind of breaking change.

Most of the time this class of error is caused by some kind of change on the server or infrastructure responsible for accepting and processing webhooks. New or changed code, a server update, or a configuration change can introduce a new failure mode or incompatibility.

When you encounter this error check your server's error logs for more information. The location of error logs varies from server to server based on configuration, operating system, web server, the programming languages being used, and other factors, so we can't provide specific instructions.  We recommend you check both the logs and the error log configuration for any of the following that you may be using to receive webhooks: