HTTP 202 — Accepted
2xx Success
What it means
The request was accepted for processing, but the work has not finished. Typical for jobs that run asynchronously.
What to do about it
Return something the client can poll — a job ID and a status URL — otherwise the caller has no way to learn the outcome.
Where it sits
202 belongs to the 2xx family: The request was received, understood and accepted.
HTTP/1.1 202 Accepted
Checking it yourself
# see the status code and headers only
curl -sI https://example.com/path
# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path
# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);
How this code behaves
| Cacheable by default | No — caches must not store this response unless explicit cache headers permit it. |
| Safe to retry | Not applicable. |
| Effect on search indexing | No direct effect. |
Returning 202 correctly
# nginx
return 202;
# Express
res.status(202).json({ error: 'Accepted' });
# Go
w.WriteHeader(202)
# Python (Flask)
return jsonify(error='Accepted'), 202;
Frequently asked questions
What does HTTP 202 mean?
The request was accepted for processing, but the work has not finished. Typical for jobs that run asynchronously.
How do I fix a 202 error?
Return something the client can poll — a job ID and a status URL — otherwise the caller has no way to learn the outcome.
Is 202 a client or server problem?
Neither — it indicates success or progress.