A Microsoft file hosting and synchronization service.
Respectfully, I must say that you are completely wrong here. It is not ok to return 200 OK with an error message. That is what "all" the other status codes are for.
This is even specified in Microsoft REST API Guidelines:
> As part of onboarding to Microsoft REST API Guidelines, services MUST comply with the taxonomy defined below.
> Errors, or more specifically Service Errors, are defined as a client passing invalid data to the service and the service correctlyrejecting that data. Examples include invalid credentials, incorrect parameters, unknown version IDs, or similar. These are generally "4xx" HTTP error codes and are the result of a client passing incorrect or invalid data.
[...]
>Services SHOULD be able to be accessed from simple HTTP tools such as curl without significant effort.
MDN has a nice readable overview of the HTTP status codes.
A few relevant examples:
> 200 OK (GET): The request has succeeded. The resource has been fetched and is transmitted in the message body.
> 400 Bad Request: This response means that server could not understand the request due to invalid syntax.
> 401 Unauthorized: Authentication is needed to get requested response. This is similar to 403, but in this case, authentication is possible.
> 404 Not Found: Server can not find requested resource. This response code probably is most famous one due to its frequency to occur in web.
> 500 Internal Server Error: The server has encountered a situation it doesn't know how to handle.
I understand that your task is to stop noise from reaching the actual developers. This is an actual bug report, for a silly mistake that shouldn't take more than a few minutes to fix. It might be one of the most common mistakes in web APIs, but that does not make it any less wrong.
The result of MS not fixing it, is that everyone integrating with OneDrive for Business will have to write code to compensate for the error. The API breaks the HTTP standard, and does not comply with Microsoft's own API guidelines. If that is something you're happy with; by all means, ignore this feedback. I have other options.