Keep the status and error message
Record the HTTP status and a redacted error body. A 401 points toward authentication. For 403, inspect the provider’s access message. Do not paste the full Authorization header into logs or support requests.
Check the process that actually sends the call
Run the presence check below in the same environment. A key in a different terminal or a local .env file may not be loaded by your server. If it prints False, fix the environment first. If it prints True, check for whitespace and the intended account.
Check which provider path you selected
A direct api.typesafe.ai call uses a TypeSafe key. A Cloudflare binding or gateway has its own setup. Try the native first-request example when isolating a direct TypeSafe issue; it will not diagnose an unconfigured gateway.
Retry once after correcting the setup
Restart the process if needed, then send the small request again. If access still fails, give the provider the status, redacted message and request time. Repeated requests with the same invalid credentials do not fix access.
Request example
# Check presence without revealing the value
python -c "import os; print(bool(os.getenv('TYPESAFE_API_KEY')))"