Since this question is tagged under "REST", I will answer the question assuming that you consider REST, and specifically REST via HTTP as "good API design".
HTTP has a pretty clear definition of what a URI is. Above all other things, a URI should serve as an identifier. If your URI can change (and the query string is part of the URI), and have the same result, from a RESTful HTTP standpoint, this could indicate something is off.
In your example, /callApi?paramA=123¶mB=123
is the (partial) URI for your resource. If you can POST to /callApi
with a different body and have the same effect, then that either means you have information that identifies your resource in the body of your request OR you have data (the query string) in your URI that serves a purpose other than identifying a resource (which is what a URI should do).
If you don't care about RESTful principles, then of course this may not be applicable. If that is the case you may want to retag the question. Regardless, treating a URI as an ID first and foremost can be helpful when it comes to questions like yours.