I had forgotten to set the Content-Type of the request to application/json.
public static string PostString(string url, string requestBody) {
using (WebClient client = new WebClient()) {
client.Headers.Add("Content-Type", "application/json");
return client.UploadString(url, "POST", requestBody);
}
}