The issue is a typing bug. The default type of a body of a GET request is given as empty object. But strictly, an HTML body is not allowed with a GET request, even if it is an empty JSON object, and the typing enforces that by throwing an error:
error: Uncaught TypeError: Request with GET/HEAD method cannot have body.
As far as I can tell, the
admin-api package doesn’t actually try to send a body to a GET request besides an empty object, so the fix is simple: Change the default value of the
body sent to a GET request from an empty object to either an empty string or “undefined”.
This 3-character patch was submitted over a year ago and now two other Ghost users have provided peer-review both that they experienced the problem and that the patch fixes it. The PR is here: