Publishing to Ghost from a Script: Five of the Seven Failures Look Like Auth
A complete Ghost Admin API publisher in sixty lines of standard-library Python — no PyJWT, no requests. Plus the four errors that will stop you first, including a 403 that is not from Ghost and a 404 that means it worked.