Authentication credentials are missing or invalid. Provide a properly configured and signed bearer token, and make sure that it has not expired.
We reproduced itHTTP 401 · code: NOT_AUTHORIZED
Any of: no token, a malformed token, the wrong kid, the wrong iss, the wrong aud, the wrong signing algorithm, or an exp more than 20 minutes out. Apple returns a byte-identical body for all of them, so the message tells you nothing about which one it is.
Check the shape before you debug anything else. Header: alg ES256, kid set to your Key ID, typ JWT. Payload for a team key: iss is the Issuer ID, aud is appstoreconnect-v1, plus iat and exp. An individual key is different: it uses sub set to "user" and carries no iss at all, which is the mistake that eats the most time. Send it as Authorization: Bearer.
We sent both no auth header and a deliberately garbage bearer token to the live API and got back the same response, byte for byte. So the body genuinely carries no diagnostic signal. Do not read anything into its wording.