Cómo recibir datos dinámicos en el controlador web API Método de publicación

jqgrid publica datos json en el búfer de solicitud POST como

{"headerData": {
    "Tasudok": "134",
    "Kuupaev": "2015-11-23",
    "Dokumnr": "135319"
   },


"rowData": {
  "Toode":"",
  "Kogus":"0.0000",
  "Nimetus":"öäölä<a",
  "_rowsum":"0.00",
  "Id":"1639",
  "Dokumnr":"135319",
  "_oper":"edit",
  "_rowid":"1639"
  }
}

Los datos se publican en la API web ASP.NET MVC4 usando URL comoAPI/Entity/someid?culture=en&layout=1 con enrutamiento predeterminado.

headerData yrowData Las propiedades de valor se definen en tiempo de ejecución y pueden variar.

Por ejemplo, en algunas llamadas, rowData puede contener propiedades adicionales y pueden faltar algunas propiedades de rowData.

culture ylayout los parámetros de cadena de consulta son opcionales.

¿Cómo recibir parámetros en el controlador WebAPI?

Lo intenté

public class EntityController : APIController
{

public class PostParams {
    public string culture { get; set; }
    public int? layout { get; set; }
    }

    public HttpResponseMessage Post(string id, 
      [FromUri]PostParams optionalParams,
      [FromBody]IList<NameValue> headerData,
      [FromBody]IList<NameValue> rowData )
    { ... }


public class NameValue
{
    public string name, value;
}
}

Pero headerData y rowData están vacías. ¿Cómo obtener todos los parámetros?