The client was either not setting a Content-Type or defaulting to application/x-www-form-urlencoded
If you put the code below in Application_Start you should be able to force form-urlencoded data to the JsonFormatter and by removing the XmlFormatter, Json will also be the default.
HttpConfiguration config = GlobalConfiguration.Configuration; foreach (var mediaType in config.Formatters.FormUrlEncodedFormatter.SupportedMediaTypes) { config.Formatters.JsonFormatter.SupportedMediaTypes.Add(mediaType); } config.Formatters.Remove(config.Formatters.FormUrlEncodedFormatter); config.Formatters.Remove(config.Formatters.XmlFormatter);