Resend Messages
Retry failed WhatsApp messages intelligently with preserved original content and recipient. Credits are only deducted on successful delivery.
Original Message Preserved
Resend with the exact same recipient, content, and type — no reconfiguration needed
Credit Safety
Credits are only deducted on successful retry — failed resends cost nothing
Smart Retry Logic
Schedule retries with configurable delays and automatic backoff
Resend Analytics
Track resend success rates and optimise your retry strategy
Authentication Required
Resend Policy
82%
first retry success
2.1m
failure to success
5
per message lifetime
48h
message valid for retry
Request Body
{"messageId": "exa_wa_123456789_abc123def"}
Response
{"success": true,"message": "WhatsApp message resent successfully","data": {"messageId": "exa_wa_resend_789_xyz456","originalMessageId": "exa_wa_123456789_abc123def","status": "delivered","to": "233244000000","resendAttempt": 2,"cost": 1,"deliveredAt": "2024-01-15T10:35:00Z"}}
Recommended Retry Strategy
Initial retry after failure
Second attempt with longer delay
Third attempt
Fourth attempt
Final attempt before expiry
When to Resend
Network Failure
Temporary carrier or network issue — automatic retry recommended
Window Closed
24-hour window expired — switch to a template message first
Media Error
Fix the media URL, then resend the message
Implementation Examples
curl -X POST 'https://api.sendexa.co/v1/whatsapp/resend' \-H 'Content-Type: application/json' \-H 'Authorization: Basic YOUR_DASHBOARD_BASE64_TOKEN' \-d '{"messageId": "exa_wa_123456789_abc123def"}'
Resend Success Rates by Attempt
HTTP Status Codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | Message resent successfully |
| 202 | Accepted | Resend scheduled for later |
| 400 | Bad Request | Message not in a resendable state |
| 401 | Unauthorized | Invalid or missing credentials |
| 409 | Conflict | A resend for this message is already in progress |
Resend Best Practices
- Implement exponential backoff with increasing delays between retries
- Check the error code before retrying — not all failures are retryable
- For WA003 (window closed), send a template first, then resend
- Set a maximum of 5 retry attempts to avoid infinite loops
- Use webhooks to trigger retries automatically on failure