Skip to content

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.

  • LiveBilling → 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 /thing and POST /thing are 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-After and 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 2xx on 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.