Turns out that if you want to POST data as part of the request body, you need to annotate the API interface method as @FormUrlEncoded
and pass the content of the body as a @Field
as below:
@FormUrlEncoded
@POST("/api/v1/gear/scans.json")
Response postScans(
@Header(HEADER_AUTH) String token,
@Field("scans") JsonArray scans
);
Async call for @Rickster:
@POST("/api/v1/gear/scans.json")
void postScans(
@Header(HEADER_AUTH) String token,
@Body JsonObject scans,
Callback<PostSuccessResponseWrapper> callback
);