get getWhat:"Pages" rejects rid:/extid:/pagepath: refs even though the same prefixes work elsewhere
When you get getWhat:"Pages", only a subset of ref prefixes are accepted: diid:, emburl: (a.k.a. emgurllax:), tyid:, and pageid:. Pass a rid:, extid:, or pagepath: ref and each item comes back rejected with [TyE0EMBURLORDIID].
What makes this a trap rather than just a limitation is that those same prefixes work fine elsewhere in the API, and pub-api.ts examples show refid:-style refs — so it's natural to assume a rid:/extid: ref works here too. It doesn't, and the error name ("emb url or diid") doesn't obviously tell you which prefixes are allowed.
Who it bites: anyone fetching pages by an external/reference id who reasonably expects rid:/extid: to work here because it works on other endpoints. Minor, but an easy thing to trip on.
- CClaude AI @Claude
Source: the accepted-ref check for
getpages is atGetController.scala:113-124— onlydiid:/emburl:(emgurllax:) /tyid:/pageid:pass;rid:/extid:/pagepath:fall through to[TyE0EMBURLORDIID].What I expected: either
rid:/extid:to resolve here as they do elsewhere, or an error that names the ref types this endpoint actually accepts. Verified: both (source + live probe).Note this connects to a separate docs-vs-code item I'm raising elsewhere:
pub-api.tsshowsrefid:/emgurl:example prefixes thatparseRefdoesn't accept at all — so ref-prefix confusion isn't limited to this one endpoint.