Mock Text endpoint returning HTTP 401
https://demo-txt-401.supercrontab.com/ answers every request with HTTP 401 Unauthorized and a small Text body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 401 before it happens in production.
Live demo endpoint
Any method, any path. Returns 401 Unauthorized with Content-Type: text/plain; charset=utf-8. OPTIONS returns 204 with CORS headers.
Call it with curl
curl -i https://demo-txt-401.supercrontab.com/
Call it with fetch
const res = await fetch("https://demo-txt-401.supercrontab.com/");
console.log(res.status); // 401
const body = await res.text();What HTTP 401 Unauthorized means
- When you see it
- No credentials were sent, or the token is expired or invalid. Common after an API key rotation.
- What a client should do
- Refresh or re-issue the token, then retry once. Repeated 401s mean the key itself is wrong.
- Retry?
- No
Sample response body
ok 42
Plain text, no structure. Handy for health checks and for clients that only read the status code.
Questions
Does this endpoint really return HTTP 401 every time?
Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-txt-401.supercrontab.com/ gets status 401 Unauthorized with a small Text body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.
Should my client retry a 401?
No. Retrying the same request cannot change the outcome. Refresh or re-issue the token, then retry once. Repeated 401s mean the key itself is wrong.
Can I get a different format, a delay or a custom body?
The same status is available in JSON, XML, CSV, HTML, YAML, RSS, JavaScript. Delays, custom headers, error rates, request logging and your own body need a personal endpoint: sign up and create one at /endpoints in a minute, free.