I tested your code, and I narrowed the 400 down to the value that's being passed to your where
member:
string jsonMsg = "{\"fileContentAsBase64String\":\"" + this.textBox1.Text + "\",\"where\":\"D:\\Temp.dwg\"}";
I'm guessing you're trying to pass the value D:\Tempdwg
, but the backslash \T seems to be getting interpreted by the server as an escape sequence. Try base64 encoding that value, or double escaping it \\\\