Event Grid message delivery and retry
This article describes how Azure Event Grid handles events when delivery is not acknowledged.
Event Grid provides durable delivery. It delivers each message at least once for each subscription. Events are sent to the registered webhook of each subscription immediately. If a webhook does not acknowledge receipt of an event within 60 seconds of the first delivery attempt, Event Grid retries delivery of the event.
Currently, Event Grid sends each event individually to subscribers. The subscriber receives an array with a single event.
Message delivery status
Event Grid uses HTTP response codes to acknowledge receipt of events.
The following HTTP response codes indicate that an event has been delivered successfully to your webhook. Event Grid considers delivery complete.
- 200 OK
- 202 Accepted
The following HTTP response codes indicate that an event delivery attempt failed. Event Grid tries again to send the event.
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- 408 Request timeout
- 414 URI Too Long
- 500 Internal Server Error
- 503 Service Unavailable
- 504 Gateway Timeout
Any other response code or a lack of a response indicates a failure. Event Grid retries delivery.
Event Grid uses an exponential backoff retry policy for event delivery. If your webhook does not respond or returns a failure code, Event Grid retries delivery on the following schedule:
- 10 seconds
- 30 seconds
- 1 minute
- 5 minutes
- 10 minutes
- 30 minutes
- 1 hour
Event Grid adds a small randomization to all retry intervals. After one hour, event delivery is retried once an hour.
Azure Event Grid expires all events that are not delivered within 24 hours.
- To view the status of event deliveries, see Monitor Event Grid message delivery.
- For an introduction to Event Grid, see About Event Grid.
- To quickly get started using Event Grid, see Create and route custom events with Azure Event Grid.