Mock CSV endpoint returning HTTP 409
https://demo-csv-409.supercrontab.com/ answers every request with HTTP 409 Conflict and a small CSV 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/csv; charset=utf-8. OPTIONS returns 204 with CORS headers.
Call it with curl
curl -i https://demo-csv-409.supercrontab.com/
Call it with fetch
const res = await fetch("https://demo-csv-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
id,name,active 1,alpha,true 2,beta,false 3,gamma,true
A header row and three data rows. Use it to test CSV importers, exports and spreadsheet links.
Questions
Does this endpoint really return HTTP 409 every time?
Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-csv-409.supercrontab.com/ gets status 409 Conflict with a small CSV 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, 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.