202 Accepted
The HTTP 202 Accepted status code indicates the server received the request, but processing is not yet complete. The request is acknowledged, not guaranteed to be fulfilled.
Usage
The 202 Accepted status code serves as an acknowledgment: the server received the request and intends to process the submission. In practice, this means the server validated the request format and placed the work into an internal queue. The queued task is often a long-running process or part of a batch operation.
No mechanism exists for the server to send a later response indicating the eventual outcome. The client is responsible for polling periodically, provided the server exposes a status endpoint.
SEO impact
Googlebot waits briefly for content when encountering a 202 response. Content received within the wait period is passed to the indexing pipeline, but indexing is not guaranteed.
Once a 200 success response arrives, polling stops. Other valid outcomes include 201 when a new resource was created and is available at the URI in the Location header, or 204 when the job finished with no content to return.
Example
The client posts XML data defining a job. The server acknowledges the submission. Subsequent requests by the client check whether the work finished. Ultimately, the server signals completion.
Request
POST /job HTTP/1.1
Host: www.example.re
Content-Type: application/xml
Content-Length: 68
<?xml version="1.0"?>
<job>
<id>125</id>
<task>G01</task>
</job>
Response
HTTP/1.1 202 Accepted
Link: </job/status/125>; rel="http://example.re/job-status"
Content-Length: 0
Status request 1
GET /job-status/125 HTTP/1.1
Host: www.example.re
Response
HTTP/1.1 202 Accepted
Content-Length: 0
Status request 2
GET /job-status/125 HTTP/1.1
Host: www.example.re
Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"success":"true"}
After the 200 status code arrives, the client stops polling and acts on the result.
Code references
.NET
HttpStatusCode.Accepted
Rust
http::StatusCode::ACCEPTED
Rails
:accepted
Go
http.StatusAccepted
Symfony
Response::HTTP_ACCEPTED
Python3.5+
http.HTTPStatus.ACCEPTED
Java
java.net.HttpURLConnection.HTTP_ACCEPTED
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_ACCEPTED
Angular
@angular/common/http/HttpStatusCode.Accepted
Takeaway
The HTTP 202 Accepted status code confirms the server received a request and processing is either pending or in progress. The status code does not indicate success or failure of the operation.