Skip to content

Failure Handling

When all 10 delivery attempts are exhausted, Transyt marks the event as failed and triggers configured destinations.

  1. All 10 delivery attempts fail (over ~2-4 hours)
  2. Event delivery_status is set to failed
  3. Destinations are evaluated with delivery_failed = true
  4. Matching destinations fire (email, Slack, Discord, or webhook alerts)
  5. The event remains available for manual replay
Terminal window
# List all failed deliveries
curl https://ingest.transyt.com/admin/delivery/failed \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN"
# List deliveries still retrying (with at least 3 attempts)
curl "https://ingest.transyt.com/admin/delivery/retrying?min_attempts=3" \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN"
# Get delivery statistics
curl https://ingest.transyt.com/admin/delivery/stats \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN"

The dashboard shows delivery status for each event, including the number of attempts, last error, and response code.

Set up destinations to be notified when deliveries fail. Common patterns:

Terminal window
curl -X POST https://ingest.transyt.com/admin/accounts/{account_id}/destinations \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"destination_type": "slack",
"name": "Delivery Failures",
"config": {"webhook_url": "https://hooks.slack.com/services/..."},
"condition": "delivery_failed"
}'
Terminal window
curl -X POST https://ingest.transyt.com/admin/accounts/{account_id}/destinations \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"destination_type": "email",
"name": "Payment Delivery Failures",
"config": {"addresses": ["ops@example.com"], "include_payload": true},
"condition": "delivery_failed and event_type.startswith(\"charge.\")"
}'

Once the underlying issue is resolved (your endpoint is back up, the bug is fixed, etc.), you can replay failed events:

Terminal window
# Replay a single event
curl -X POST https://ingest.transyt.com/admin/events/{event_id}/replay \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN"
# Replay all failed events
curl -X POST https://ingest.transyt.com/admin/events/replay-failed \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN"