Mock HTML endpoint returning HTTP 409
https://demo-html-409.supercrontab.com/ answers every request with HTTP 409 Conflict and a small HTML body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 409 before it happens in production.
Live demo endpoint
Any method, any path. Returns 409 Conflict with Content-Type: text/html; charset=utf-8. OPTIONS returns 204 with CORS headers.
Call it with curl
curl -i https://demo-html-409.supercrontab.com/
Call it with fetch
const res = await fetch("https://demo-html-409.supercrontab.com/");
console.log(res.status); // 409
const body = await res.text();What HTTP 409 Conflict means
- When you see it
- The request clashes with current state: a duplicate unique key, a stale version number or a concurrent edit.
- What a client should do
- Reload the current state, resolve the conflict and resend. Blind retries will keep hitting 409.
- Retry?
- No
Sample response body
<!doctype html> <html> <head><title>Mock page</title></head> <body><h1>ok</h1><p>id 42</p></body> </html>
A tiny page. Useful for scrapers, uptime monitors and testing how a client treats HTML error pages.
Questions
Does this endpoint really return HTTP 409 every time?
Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-html-409.supercrontab.com/ gets status 409 Conflict with a small HTML body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.
Should my client retry a 409?
No. Retrying the same request cannot change the outcome. Reload the current state, resolve the conflict and resend. Blind retries will keep hitting 409.
Can I get a different format, a delay or a custom body?
The same status is available in JSON, XML, Text, CSV, 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.