I'm not 100% certain I understand fully the question. If you are meaning how to post to a controller from jquery (rather than api), then it's a simple change along the lines of:
$.post('@Url.Action("actioname","controller")', { AgentId: AgentId, ReportName: ReportName, Params: Params, StatsEmailedId: StatsEmailedId, HeaderName: HeaderName,
RankBy: RankBy, SoldCountsInclude: SoldCountsInclude, SortBy: SortBy, IncludeCo: IncludeCo, DisplayTop: DisplayTop, UserOffice: UserOffice
},
function (data) { ....
}
});
If calling an internal method inside a controller, then you'd just call it as if invoking another method call inside the controller.
A further point raised is that you may have your js inside its own file, in which case, you can't use the @Url.Action() stuff. In this case, I'd advise using the jquery data-attributes and placing the target URL onto one of your key dom elements and then targetting that from your js using the .data('your-attr') from the source file. Works very well and is definitely my recommendation.
[edit] - althought the question is def related to WebClient, i think it's worth demonstrating what I mean by using the data-attributes for the external js implementation:
//the cshtml code
<button id="myUpdateButton" data-target-url="@Url.Action("youraction", "controller")">
//the js code (assumes click on myUpdateButton)
var targetUrl = $(this).data('target-url');
// then use targetUrl in place of the 1st param in the `$.post` method.
Anyway, just me being ott :-)