 <p>finally figure out the answer, add a custom TypedJsonString class,</p> <pre><code>public class TypedJsonString extends TypedString { public TypedJsonString(String body) { super(body); } @Override public String mimeType() { return "application/json"; } } </code></pre> <p>convert my json object to TypedJsonString,</p> <pre><code>TypedJsonString typedJsonString = new TypedJsonString(jsonObject.toString()); </code></pre> <p>changed the api class as follows,</p> <pre><code>Observable&lt;Item&gt; getListOfFeed(@Body TypedJsonString typedJsonString); </code></pre>