Genesys webhook 500s filling up the dead letter queue, retry logic not triggering

We’ve got a webhook endpoint hitting a 500 error on our side due to a database timeout. Genesys is correctly marking the delivery as failed, but instead of retrying or hitting our configured dead letter queue endpoint, the events just vanish after the initial failure. The webhook config looks standard. Here’s the JSON payload we’re sending to the endpoint:

{
 "event": ".queue.member.assigned",
 "data": {
 "id": "12345",
 "queueId": "67890"
 }
}

The response from our server is a plain 500 Internal Server Error. According to the docs, Genesys should retry three times with exponential backoff. We aren’t seeing those retries in our logs, and the DLQ endpoint isn’t receiving the event either. Is there a specific header or status code range that triggers the retry logic? Or are we missing a setting in the /api/v2/integrations/webhooks update call?