Status Code 207
Multi-Status
The message body contains multiple separate response codes.
Category
SuccessSpec URL
207 of RFC 4918Popularity
rare
Recommended
No
Deprecated
No
Common Use Case
WebDAV batch operations
Notes
Primarily used in WebDAV for batch processing of requests.
RFC Reference
Description
The message body contains multiple separate response codes.
A typical server response for a 207 Multi-Status status code looks like:
HTTP/1.1 207 Multi-Status
Date: Sun, 22 Mar 2026 12:00:00 GMT
Server: httperrors.com
Content-Type: application/json
{
"status": 207,
"data": { ... }
}Although all 2xx codes are considered successful, each one communicates a slightly different success shape. The important detail is not only that the operation worked, but what kind of result the client should infer from it.
Historically, HTTP 207 Multi-Status should be read in light of RFC 4918. Standards text tends to focus on precise semantics, while production systems care about retries, user experience, dashboards, proxies, browsers, and documentation. Good engineering joins those two views instead of choosing one over the other. When teams treat a status code as both a protocol message and a product decision, they produce APIs and pages that are easier to operate and easier to trust.
A practical reading of this entry is that the server is communicating something very specific: The message body contains multiple separate response codes. In day-to-day work, that meaning should be reflected across controllers, reverse proxies, API gateways, and frontend assumptions. If the server sends HTTP 207, but the response body, cache headers, or application behavior tell a different story, client code starts compensating for inconsistency and the whole stack becomes harder to reason about.
HTTP 207 Multi-Status is not marked as deprecated, which means it remains relevant for current systems so long as its semantics map cleanly to the behavior your endpoint is actually delivering.
When using a success code, the server should make sure the rest of the response reinforces the same meaning. Headers, body shape, cache directives, and follow-up documentation should all agree with the chosen code.
In implementation terms, HTTP 207 Multi-Status should appear at a deliberate decision point in your request handling code. Avoid choosing it late as a cosmetic label after the rest of the response is already formed. Most clients should simply continue the intended flow once the surrounding protocol expectations are met. If your logs show this status frequently, the surrounding context should make it obvious whether the response reflects normal traffic or a design problem.
The supporting note for this entry is also important: Primarily used in WebDAV for batch processing of requests. This often captures the gap between the formal specification and day-to-day engineering practice.
A useful way to compare HTTP 207 is against neighboring success codes. Even when another 2xx response would technically pass basic tests, a more precise choice reduces ambiguity for SDK authors and maintainers. This is one reason protocol precision pays off over time: the better your status taxonomy, the easier it becomes to debug client behavior, build metrics, and explain edge cases to other engineers.
From an operational perspective, HTTP 207 should be visible in logs, metrics, and alerts with enough surrounding metadata to explain why it happened. Popularity for this entry is listed as rare, and that should influence how much defensive documentation and monitoring you add. Because the code is relatively rare, every occurrence is a stronger signal that engineers and support teams will need extra context.
Search crawlers treat successful responses as candidates for indexing, but the exact downstream effect depends on the body, canonical tags, hreflang, and internal linking. A correct 2xx status gives the page a chance to rank, but it does not guarantee value or visibility on its own. For HTTP 207, the operational takeaway is that status correctness supports SEO indirectly by making crawl behavior more predictable. Pages, APIs, and edge routes should return this code only when its meaning is exactly true.
Since this code is not marked as recommended, it should usually be treated as a specialist tool rather than a default answer. That does not make it wrong. It means the burden of proof is higher: engineers should be able to explain why this code communicates the situation better than a more conventional alternative.
Because this code is not deprecated, it remains part of the active vocabulary that modern web systems can use. Even so, correctness still depends on discipline. A valid status code becomes harmful if teams reuse it as shorthand for several unrelated situations.
The recommendation flag for this entry is negative, so teams should treat HTTP 207 as a specialized code that deserves extra review before adoption. This is especially relevant when designing a public API that must stay predictable over time.
The best way to think about HTTP 207 Multi-Status is not as trivia, but as a promise. It tells the caller what happened, what should happen next, and how much confidence the client can place in the current response. The example recorded for this entry is WebDAV batch operations, and the note says Primarily used in WebDAV for batch processing of requests.. Together with the specification link at https://datatracker.ietf.org/doc/html/rfc4918#section-11.2, those details give implementers enough context to use the code intentionally rather than mechanically. That is the standard worth aiming for in production systems.
Other HTTP status codes in the Success category
The request has succeeded.
Standard response for successful HTTP requests
The request has been fulfilled and resulted in a new resource being created.
POST request successfully created a resource
The request has been accepted for processing, but the processing has not been completed.
Asynchronous processing requests
The request was successful but the enclosed payload has been modified from the origin server's 200 OK response.
Proxy modified the response
The server successfully processed the request and is not returning any content.
DELETE request successful
The server successfully processed the request, but is not returning any content and requires that the requester reset the document view.
Form submission successful, clear form
The server is delivering only part of the resource due to a range header sent by the client.
Video streaming, file downloads with resume
The members of a DAV binding have already been enumerated in a previous reply to this request.
WebDAV binding collections
The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
Delta encoding in HTTP