Errors
HTTP status codes and the conditions that produce them. Consult this before retrying a failed request.
| Status | Meaning | Typical cause |
|---|---|---|
| 400 | validation failed | missing recipient, invalid email, placeholder email (example.com, your-email, etc.) |
| 410 | endpoint expired | 30-day TTL elapsed without submissions |
| 429 | rate limited or cap reached | >10 creations/hour/IP, or 50-submission lifetime cap reached |
Example 400
curl -i -X POST https://gopigeon.dev/new -d 'recipient=not-an-email' # HTTP/1.1 400 Bad Request # {"error":"validation failed","field":"recipient"}
Retry guidance
- 400: fix the payload and re-send; the response body names the offending
field. - 410: create a new endpoint — expired endpoints cannot be resurrected.
- 429: back off and retry later. The
Retry-Afterheader, when present, is authoritative.