Mock XML endpoint returning HTTP 504

https://demo-xml-504.supercrontab.com/ answers every request with HTTP 504 Gateway Timeout and a small XML body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 504 before it happens in production.

Live demo endpoint

https://demo-xml-504.supercrontab.com/

Any method, any path. Returns 504 Gateway Timeout with Content-Type: application/xml. OPTIONS returns 204 with CORS headers.

Call it with curl

curl -i https://demo-xml-504.supercrontab.com/

Call it with fetch

const res = await fetch("https://demo-xml-504.supercrontab.com/");
console.log(res.status); // 504
const body = await res.text();

What HTTP 504 Gateway Timeout means

When you see it
A proxy waited for the upstream app and gave up. The request may or may not have been processed.
What a client should do
Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.
Retry?
Yes, with backoff

Sample response body

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <ok>true</ok>
  <id>42</id>
</response>

Common in SOAP, payment and legacy enterprise APIs. Good for testing XML parsers and namespaces.

Questions

Does this endpoint really return HTTP 504 every time?

Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-xml-504.supercrontab.com/ gets status 504 Gateway Timeout with a small XML body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.

Should my client retry a 504?

Yes, with exponential backoff and a cap on attempts. Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.

Can I get a different format, a delay or a custom body?

The same status is available in JSON, Text, 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.