Queue penalty

To ensure the stability of our webhook system and provide predictability regarding delivery attempts, Asaas uses a penalty system. When your endpoint starts returning consecutive errors, we apply increasing time intervals between retry attempts.

This mechanism applies to both sequential and non-sequential webhook configurations

📘

Important

For sequential mode configurations, the order in which events are delivered is strictly guaranteed. Therefore, if an event is penalized, all subsequent events in the same queue will wait for its successful delivery before being processed.

How does the penalty work?

If your application returns any response that is not in the 200 family, we consider it a failure. After the first failure, Asaas will begin the following cycle of retries and notifications:

AttemptTimeNotification action
10
230 segundos
31 min
43,5 min
55 min1st Alert Email
615 min
725 min
81 hr
91 hr
101 hr2nd Alert Email
111 hr
121 hr
131 hr
141 hr
153 hrs3rd Email (Queue Paused)

After 15 consecutive failures, the delivery queue for that specific webhook configuration is Paused.

New events will continue to be generated and queued, but they will not be sent until you manually reactivate the queue. See more details about the paused queue at webhooks with queue paused.

Removing the penalty

If you have identified and fixed the issue in your system that was causing the failures (e.g., a bug in your application, a firewall blocking our IPs), you do not need to wait for the entire penalty cycle to finish. You can request that Asaas remove the penalty and immediately retry sending the event at the top of the queue.

You can remove the penalty in two ways:

Web interface

Navigate to the Integrations > Webhooks area. There is a column next to the configuration's "situação" that shows the number of penalized events

  1. Access the webhook configuration that displays penalized events.
  2. Click the "Remover penalização" button.
  3. Confirm the action in the modal that appears.

Via API

You can also remove the penalty programmatically. To do this, use the endpoint to remove the penalty from the webhook configuration.

See the full reference for this endpoint.

🚧

Attention

This endpoint has a stricter rate limit to discourage the use of automations that repeatedly try to remove the penalty. The feature is intended to be used after you have resolved the underlying problem in your application.