HTTP 202 Accepted vs 300 Multiple Choices
HTTP 202 (Accepted) is a 2xx Success response, while 300 (Multiple Choices) is a 3xx Redirection response. 202 indicates that the request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon. In contrast, 300 means that the request has more than one possible response. The client should choose one of them.
Description
The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon.
When You See It
For async operations like batch jobs, email sending, or background tasks that take time to complete.
How to Fix
Poll the provided status URL or wait for a callback/webhook.
Description
The request has more than one possible response. The client should choose one of them.
When You See It
When a resource is available in multiple formats (e.g., different languages or media types).
How to Fix
Select the appropriate resource variant. Send an Accept header with your preferred content type.
Key Differences
202 is a 2xx Success response, while 300 is a 3xx Redirection response.
HTTP 202: The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon.
HTTP 300: The request has more than one possible response. The client should choose one of them.
You encounter 202 when for async operations like batch jobs, email sending, or background tasks that take time to complete.
You encounter 300 when when a resource is available in multiple formats (e.g., different languages or media types).
When to Use Which
For 202 (Accepted): Poll the provided status URL or wait for a callback/webhook. For 300 (Multiple Choices): Select the appropriate resource variant. Send an Accept header with your preferred content type.