Vous pouvez avoir votre méthode post qui prend un HttpRequestMessage pour contourner la logique de liaison du modèle et vous pouvez lire directement le contenu de la requête :
public HttpResponseMessage Post(HttpRequestMessage req)
{
var data = req.Content.ReadAsStringAsync().Result; // using .Result here for simplicity...
...
}
Soit dit en passant, la raison pour laquelle l'action effectuée dans JObject ne fonctionne pas est à cause de 'ObjectId("...")' qui est utilisé comme valeur de "_id" dans vos données...