title: How do I get the body of a web request that returned 400 Bad Request from Invoke-RestMethod
body: <p>When I run the following statement</p>
  
  <pre><code>Invoke-RestMethod "https://api.mysite.com/the/endpoint" `
      -Body (ConvertTo-Json $data) `
      -ContentType "application/json" `
      -Headers $DefaultHttpHeaders `
      -Method Post
  </code></pre>
  
  <p>the endpoint returns <code>400 Bad Request</code>, which causes PowerShell to show the following not-so-helpful message:</p>
  
  <pre>Invoke-WebRequest : The remote server returned an error: (400) Bad Request.
  At line:1 char:1
  + Invoke-WebRequest "https://api.mysite.com/the/endpoint" -Body  ...
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
      + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand</pre>
  
  <p>How do I get the body of the response, which might tell me what was wrong with the request I sent?</p>