We're currently working to the OData standard:

<http://www.odata.org/developers/protocols/operations>

According to this standard, if you perform an PUT operation against your data, you should return a 204 status code. The standard says that:

> 
> When processing a PUT request servers return status 204 (No Content)
>  to indicate success, no response body is needed.
> 
> 
> 

Now, according to what one reads elsewhere, some places claim that if you're returning a 204 you should absolutely NOT return a response body - it's not a question of whether one is needed or not.

The problem is we kind of need to return a body. In this case we're performing an update query on a batch of items and partial success (i.e. some are updated, some are not) is possible. We'd like to inform the client of what the failures were and the response body is the only way of doing it that I can think of.

So what's the "correct" way of doing this. Should I flout the W3C and return a body? Or should I flout OData and return a different response code? Or is there another possibility?