207 Multi-Status
A WebDAV response carrying several independent status codes at once, one for each resource the request touched.
At a glance
- Status code
- 207 Multi-Status
- Class
- 2xx, success, the request was received and accepted
- Defined in
- RFC 4918
- Cacheable by default
- no
- Response body
- An XML document with a per-resource status inside.
In detail
One request affected many resources and they did not all end the same way. The 207 itself says nothing about success: the real answer is the list of statuses in the XML body.
Defined for WebDAV, and borrowed by some batch APIs. If you borrow it, document the body schema, because there is no general convention outside WebDAV.
Never treat 207 as success without reading the body. Half the operations inside it may have failed.
Examples
HTTP/1.1 207 Multi-Status
Content-Type: application/xml
<multistatus><response><href>/a</href><status>HTTP/1.1 200 OK</status></response></multistatus>Things that catch people out
- Generic HTTP clients report 207 as success and discard the body, so partial failures pass silently.
- The inner status lines are text, not parsed status codes. Matching them with a substring test on "200" also matches 200 inside a URL.
Try it: HTTP Request Builder
Build a request with any method, headers and body, send it, and read the status line the server returns.
HTTP Request Builder
LOCAL · Browser-OnlyBuild and test HTTP requests with custom headers and body
Authentication
Headers
Generate Code
curl -X GET 'https://api.example.com/endpoint' \
-H 'Content-Type: application/json'Showing a sample URL. Enter your endpoint above to update the snippet.
Related HTTP status codes
All http status codes →200 OK
The request succeeded. What the body contains depends on the method: a GET returns the resource, a POST returns the result of the action.
208 Already Reported
Inside a WebDAV multi-status response, this member was already listed earlier and its properties are not repeated.
424 Failed Dependency
The request failed because an earlier request it depended on failed, so this one was never attempted.
226 IM Used
The server applied a delta encoding and is returning the difference from a version the client already has, rather than the whole resource.
300 Multiple Choices
The request matched more than one representation and the server is asking the client to pick, rather than choosing for it.
301 Moved Permanently
The resource has a new permanent URL, given in Location. Search engines transfer ranking signals to the target and clients may cache the redirect.
Tools for this
- HTTP Request Builder Free online HTTP request builder - build and test HTTP requests with custom headers and body
- HTTP Headers Checker Free online HTTP headers checker - view HTTP response headers for any URL