API documentation is severely lacking, see http://en.wikipedia.beta.wmflabs.org/w/api.php?action=help&modules=editlist|query+listpages|query+lists
Lots of internal FauxRequests calls to ApiMain, that's bad code structure.
Database error when using lspnamespace.
Ordering/continuation in ApiQueryListPages::queryListItems isn't necessarily total, if the DB somehow gets duplicate gli_order.
ApiQueryListPages should be putting its result array under the 'query' node, not as its own top-level node. You probably copied list=watchlistraw, for which see T36356.
Continuation is broken here: http://en.wikipedia.beta.wmflabs.org/w/api.php?action=query&list=lists&lstids=51|57&lstlimit=1 (your continuation value should include all fields in your ORDER BY)There's a similar possibility for broken continuation when 'mode' is set, or else your query is probably making MySQL be stupid by ordering by constant gl_perm.
You're returning booleans as booleans without code for adding the metadata being added in Gerrit change 182858, which means you're going to have issues once that change is merged. You'll probably also have some deprecation warnings once that is merged.
Bad tag names in http://en.wikipedia.beta.wmflabs.org/w/api.php?action=query&list=lists&format=xmlfm&lstprop=count, because you're directly screwing up the metadata element.