When performing an action=parse by pageid on a page with is not a redirect and trying to follow redirects by using redirects=1 a missingparam error is thrown even pageid is given. If the pageid points to a redirect, everything works fine.
Examples:
(1) https://de.wikipedia.org/w/index.php?curid=83614 is a non-redirect page
{ "error": { "code": "missingparam", "info": "One of the parameters \"title\" and \"pageid\" is required.", "*": "See https://de.wikipedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes." }, "servedby": "mw1339" }
- https://de.wikipedia.org/w/api.php?action=parse&format=json&pageid=83614&prop= (same query without redirects=1)
{ "parse": { "title": "Heiliger Abend", "pageid": 83614 } }
(2) https://de.wikipedia.org/w/index.php?curid=83615&redirect=no is a redirect page (to 83614)
{ "parse": { "title": "Heiliger Abend", "pageid": 83615, "redirects": [ { "from": "Heiligabend", "to": "Heiliger Abend" } ] } }
- https://de.wikipedia.org/w/api.php?action=parse&format=json&pageid=83615&prop= (same query without redirects=1)
{ "parse": { "title": "Heiligabend", "pageid": 83615 } }
(empty prop= just for demonstration, has no effect on the request's results)