Mock JSON endpoint returning HTTP 422

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

Live demo endpoint

https://demo-json-422.supercrontab.com/

Any method, any path. Returns 422 Unprocessable Content with Content-Type: application/json. OPTIONS returns 204 with CORS headers.

Call it with curl

curl -i https://demo-json-422.supercrontab.com/

Call it with fetch

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

What HTTP 422 Unprocessable Content means

When you see it
The request was well formed but failed validation: an email without @, a date in the past, a value out of range.
What a client should do
Show the validation errors to the user and fix the payload. Retrying the same body cannot succeed.
Retry?
No

Sample response body

{"ok":true,"id":42,"items":["alpha","beta","gamma"]}

The default for REST APIs. Parse it with response.json() and check the ok field.

Questions

Does this endpoint really return HTTP 422 every time?

Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-json-422.supercrontab.com/ gets status 422 Unprocessable Content with a small JSON body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.

Should my client retry a 422?

No. Retrying the same request cannot change the outcome. Show the validation errors to the user and fix the payload. Retrying the same body cannot succeed.

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

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