A requisição foi aceita, mas ainda não foi processada.
Quando usar
Tarefas em fila ou em segundo plano. Retorne uma forma de acompanhar o progresso.
Bom saber
O 202 não promete nada sobre o resultado: a tarefa ainda pode falhar depois. Retorne uma URL de status no cabeçalho Location ou no corpo, como /jobs/123, e opcionalmente Retry-After para sugerir um intervalo de polling. O endpoint de status responde 200 com um estado como queued, running, done ou failed, e quando a tarefa termina pode apontar para o resultado ou redirecionar até ele com 303.
Webhooks são a alternativa push ao polling. Torne o trabalho idempotente, porque um cliente que nunca recebe o 202, depois de um timeout ou de uma conexão perdida, vai reenviar. Coloque a tarefa em uma fila durável, como SQS, um worker com Redis ou uma tabela de jobs, antes de responder: plataformas serverless como o AWS Lambda congelam o processo assim que a resposta é enviada, então trabalho em segundo plano dentro do processo pode nunca rodar.
Sucesso (2xx)
Os códigos 2xx indicam sucesso: o servidor recebeu, entendeu e aceitou a requisição.
Como fica
HTTP/1.1 202 AcceptedComo enviar
| Node.js / Express | res.status(202).end() |
|---|---|
| Python / Flask | return '', 202 |
| nginx | return 202; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/