207 Success πŸ“‹

207 Multi-Status: Reporting on Multiple Resources

Last updated: June 28, 2026 β€’ 5 min read

✦ The Golden Answer: The 207 Multi-Status status code is a WebDAV-specific response that conveys status information for multiple resources in a single request. The response body contains an XML document (the multistatus element) that lists each resource with its own status code, message, and optional properties. This is used in operations like PROPFIND (listing properties) and PROPPATCH (changing properties).

When Is 207 Used?

This status is almost exclusively used in WebDAV extensions to HTTP. Common operations that return 207 include:

  • PROPFIND – retrieving properties of multiple resources in a collection.
  • PROPPATCH – setting or removing properties on multiple resources.
  • MKCALENDAR – creating a calendar collection.
  • REPORT – executing a custom report across resources.

Example: PROPFIND Response

When a client requests properties of a directory, the server may respond with 207:

HTTP/1.1 207 Multi-Status Content-Type: application/xml; charset="utf-8" Content-Length: ... <?xml version="1.0" encoding="utf-8" ?> <multistatus xmlns="DAV:"> <response> <href>/files/</href> <propstat> <prop><displayname>Documents</displayname></prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> <response> <href>/files/report.pdf</href> <propstat> <prop><displayname>report.pdf</displayname></prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> </multistatus>

Structure of the Multistatus Response

ElementDescription
<multistatus>Root element of the response.
<response>Contains information for a single resource.
<href>URI of the resource.
<propstat>Groups properties with their status code.
<prop>Set of property values.
<status>HTTP status code for the resource (e.g., 200, 404, 403).
<responsedescription>Optional human-readable message.

Handling Different Statuses

Within a single 207 response, different resources can have different statuses. For example:

  • 200 OK – properties successfully retrieved.
  • 404 Not Found – resource does not exist.
  • 403 Forbidden – client lacks permission to access the resource.
  • 507 Insufficient Storage – server ran out of space (WebDAV-specific).

When Not to Use 207

  • For single‑resource responses – use the appropriate status code directly (e.g., 200, 404).
  • If you are not implementing WebDAV – most REST APIs do not use 207.
  • If the response is not XML – 207 requires the body to be a valid multistatus XML document.

Frequently Asked Questions

Is 207 Multi-Status a success or an error?

It is a success code (2xx). Even though some resources within the response may have error statuses, the overall request was processed successfully, and the client should parse the XML to handle each resource individually.

Can I use 207 in a regular REST API?

Technically yes, but it's uncommon. Most REST APIs prefer to return a single status code per request. If you need to return multiple statuses, consider using a custom JSON structure with status fields, or use 200 OK with a detailed body.

What is the difference between 207 and 424 (Failed Dependency)?

207 Multi-Status returns a list of statuses for multiple resources. 424 Failed Dependency (also WebDAV) indicates that a request failed because a previous operation in a batch failed. 424 is used in conjunction with 207 to indicate a dependency failure.