← Back to status codes
HTTP Status Code
207 Multi-Status
SuccessThe response contains multiple status codes for multiple independent operations.
HTTP status code reference, response example, common causes, fixes, and related status codes.
What does HTTP 207 Multi-Status mean?
HTTP 207 Multi-Status is a status code sent by a server to indicate the result of an HTTP request.
Status codes help browsers, APIs, apps, and backend systems understand whether a request succeeded, failed, was redirected, or needs additional action.
In practice, HTTP 207 Multi-Status usually appears when a server responds under specific request, validation, permission, or infrastructure conditions.
Response example
HTTP/1.1 207 Multi-Status
Content-Type: application/xml
<?xml version="1.0" encoding="utf-8"?>
<multistatus xmlns="DAV:">
<response>
<href>/files/doc.txt</href>
<status>HTTP/1.1 200 OK</status>
</response>
<response>
<href>/files/missing.txt</href>
<status>HTTP/1.1 404 Not Found</status>
</response>
</multistatus>HTTP example
HTTP/1.1 207 Multi-Status
Common causes
- WebDAV batch operations
- Bulk API requests where each item has its own result
- Partial success in multi-resource operations
How to fix it
- Parse each individual status in the response body
- Handle mixed success and failure results per resource
Common mistakes
- Assuming the status code alone explains the full backend issue
- Ignoring related response headers that add important context
- Treating temporary errors as permanent failures
- Retrying too aggressively without checking the cause
- Debugging the frontend only when the problem is server-side
How browsers and APIs use it
Browsers, APIs, and backend services use HTTP status codes to understand the outcome of a request. Depending on the status code, an application may render content, retry a request, redirect the user, show an error, or trigger a different flow in the client or server.
Practical developer insight
207 Multi-Status is defined in RFC 4918 for WebDAV but has been adopted by some REST APIs for batch operations. The actual per-item statuses are embedded in the response body, not the HTTP status line itself.