HTTP

HTTP 207 Multi-Status vs 429 Too Many Requests

HTTP 207 (Multi-Status) is a 2xx Success response, while 429 (Too Many Requests) is a 4xx Client Error response. 207 indicates that the response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV). In contrast, 429 means that the user has sent too many requests in a given time (rate limiting). The response should include a Retry-After header.

Description

The response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV).

When You See It

In WebDAV operations that affect multiple resources simultaneously.

How to Fix

Parse the XML body to check the status of each individual resource.

Description

The user has sent too many requests in a given time (rate limiting). The response should include a Retry-After header.

When You See It

When hitting API rate limits or making too many requests too quickly.

How to Fix

Check the Retry-After header. Implement exponential backoff. Consider caching responses.

Key Differences

1.

207 is a 2xx Success response, while 429 is a 4xx Client Error response.

2.

HTTP 207: The response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV).

3.

HTTP 429: The user has sent too many requests in a given time (rate limiting). The response should include a Retry-After header.

4.

You encounter 207 when in WebDAV operations that affect multiple resources simultaneously.

5.

You encounter 429 when when hitting API rate limits or making too many requests too quickly.

When to Use Which

For 207 (Multi-Status): Parse the XML body to check the status of each individual resource. For 429 (Too Many Requests): Check the Retry-After header. Implement exponential backoff. Consider caching responses.

Learn More