All HTTP requests to Microsoft’s Dataverse Web API should include, at minimum, the following four headers:
Accept: application/json OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null
The last one’s value can be confusing. By default, it should be set to a literal string with the text value of “null”, not a null value (e.g.
headers.Add("If-None-Match", "null"), not
headers.Add("If-None-Match", null)). (There are some special cases where you’ll deviate from this default value, but in all cases the header itself should always be sent.)
Additionally, if your request includes a JSON body, then be sure to include the appropriate content type header:
Or, even better, specify the charset, as well:
Content-Type: application/json; charset=utf-8