201 vs 202: Created vs Accepted
201 and 202 can look similar in logs, but they tell clients, crawlers, and API consumers different things.
| Aspect | 201 | 202 |
|---|---|---|
| Meaning | Created describes how the server processed the request and what the client should do next. | Accepted describes how the server processed the request and what the client should do next. |
| Typical use case | HTTP 201 Created indicates a success response outcome. | HTTP 202 Accepted indicates a success response outcome. |
| Caching/client behavior | Check cache headers and downstream behavior for 201. | Check cache headers and downstream behavior for 202. |
| SEO implications | Search crawlers interpret 201 according to success semantics. | Search crawlers interpret 202 according to success semantics. |
| API/backend impact | API clients may branch logic specifically on 201. | API clients may branch logic specifically on 202. |
When to use one vs the other
Use 201 when the response should communicate created behavior; use 202 when accepted is the accurate protocol signal.
A frequent mistake is swapping 201 and 202 for convenience; that causes client retry bugs, incorrect cache signals, and misleading monitoring data.
Decision summary: if user agents should receive the Created signal, return 201; if they should receive Accepted, return 202.
FAQ
What is the biggest difference between 201 and 202?
201 communicates Created, while 202 communicates Accepted. Choosing the right one keeps clients and intermediaries predictable.
Do 201 and 202 have SEO or caching impact?
Yes. Search engines and caches interpret status classes differently. Use each code according to its semantics to avoid accidental indexing, stale responses, or crawl inefficiency.
Can APIs safely return 201 instead of 202?
Only when it matches contract semantics. API clients often branch logic by exact code, so swapping them can break retries, auth handling, or user-facing errors.
Related guides: 201 Created ยท 202 Accepted