200, and that URL’s result
carries status = "error" with an error.code.
So a caller has to do both — catch around the call, and branch inside the loop.
Branch on
status, not on whether markdown is set. A format the page could
not produce is unset on an otherwise successful result.error.code as a generic failure rather than rejecting
the result — the set grows. The message beside it is prose for logs, and its
wording can change; never parse it.
The per-URL codes and the request-level codes are listed in
Reference.