When calls fail¶
Most problems are self-serve. Find the status code your sender received below — each one tells you exactly what to fix. Every response also carries a short message explaining the cause.
First check
Glance at status.echorelay.dev. If we've posted an incident, it's us — sit tight. If it's all green, read on.
401 — Unauthorized¶
Your key is missing, wrong, or was rotated.
- Confirm you're sending the project's current key (panel → your project).
- If you rotated the key, update your sender to the new one. (Rotations keep the old key working for a short overlap — but not forever.)
- Check you're using the right kind:
er_live_…for real traffic,er_test_…for tests.
402 — Payment required¶
A credit pool is empty. The response says which one.
- Live → Billing → Top up, or wait for your plan to refill. Calls resume the moment there's balance.
- Test → resets on its own cycle, or switch to your live key.
Full detail: Credits & billing.
404 — Not found¶
The address didn't match an active endpoint. We deliberately return 404 (not a
"forbidden") so paths can't be probed.
- Check the endpoint exists and is active in the panel.
- Check the method matches —
GET /thingandPOST /thingare different endpoints. - Check the address (project, version, path) exactly matches what the panel shows.
429 — Too many requests¶
You've hit your rate limit. The response includes a Retry-After header telling you
how long to wait.
- Spread your calls out, or honour
Retry-Afterand retry. - Need more headroom? Raise your limit — see Rate limits.
Calls accepted, but nothing arrives at your destination¶
EchoRelay accepted the call (you got a success back) but delivery to your URL is failing.
- EchoRelay retries automatically with backoff when your destination is down or returns an error.
- Open your project's request history in the panel to see each attempt and the response your destination gave.
- Persistent failures are held aside so nothing is lost — you can retry them from the panel once your destination is healthy again.
- Check your destination URL is correct, reachable from the public internet, and returns
a
2xxon success.
Still stuck?¶
Email [email protected] from your account address. Include your project name and, if you have it, a request id from the request history — it lets us find the exact call fast.