 <p>Try using <code>@Body</code> annotation instead of <code>@Field</code> and passing a single <code>ReviewBody</code> object.</p> <pre><code>class ReviewBody { public Review review; public ReviewBody(int placeId, float rating, String content, List&lt;String&gt; tagList) { review = new Review(placeId, rating, content, tagList); } public class Review { @SerializedName("place_id") public int placeId; public float rating; public String content; @SerializedName("tag_list") public List&lt;String&gt; tagList; public Review(int placeId, float rating, String content, List&lt;String&gt; tagList) { this.placeId = placeId; this.rating = rating; this.content = content; this.tagList = tagList; } } } </code></pre> <p></p> <pre><code>@POST("/") void addReview(@Body ReviewBody body, Callback&lt;ReviewEntity&gt; callback); </code></pre> <p>(without <code>@FormUrlEncoded</code>)</p>