Retry-After HTTP header for retryable 1xxx errors
Cloudflare-generated 1xxx error responses now include a standard Retry-After HTTP header when the error is retryable. Agents and HTTP clients can read the recommended wait time from response headers alone — no body parsing required.
Seven retryable error codes now emit Retry-After:
| Error code | Retry-After (seconds) | Error name |
|---|---|---|
| 1004 | 120 | DNS resolution error |
| 1005 | 120 | Banned zone |
| 1015 | 30 | Rate limited |
| 1033 | 120 | Argo Tunnel error |
| 1038 | 60 | HTTP headers limit exceeded |
| 1200 | 60 | Cache connection limit |
| 1205 | 5 | Too many redirects |
The header value matches the existing retry_after body field in JSON and Markdown responses.
If a WAF rate limiting rule has already set a dynamic Retry-After value on the response, that value takes precedence.
Available for all zones on all plans.
Check for the header on any retryable error:
curl -s --compressed -D - -o /dev/null -H "Accept: application/json" -A "TestAgent/1.0" -H "Accept-Encoding: gzip, deflate" "<YOUR_DOMAIN>/cdn-cgi/error/1015" | grep -i retry-afterReferences: