202 Accepted

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 Accepted

Como enviar

Node.js / Expressres.status(202).end()
Python / Flaskreturn '', 202
nginxreturn 202;

Como verificar

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Abrir Códigos de status HTTP