Error map
rest_forbidden WordPress REST API: {"code":"rest_forbidden","message":"Sorry, you are not allowed to do that."} (401/403)
WordPress · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (10). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (10)
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
Site Health: The REST API encountered an error / Your site could not complete a loopback request (cURL error 28)
WordPress couldn’t call itself over HTTP — needed for the block editor, cron, plugin/theme editors and Site Health.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
WordPress: Updating failed. The response is not a valid JSON response.
The block editor saved via the REST API but got HTML or an error page back — broken permalinks, a security plugin/WAF, or PHP out…
WordPress: Updating failed. You are probably offline.
The block editor’s save request to the REST API failed — network blip, REST API blocked, or the server returned an error/HTML.
WordPress REST API: {"code":"rest_cookie_invalid_nonce","message":"Cookie check failed"} (403)
A cookie-authenticated REST request carried a missing or stale X-WP-Nonce — common with cached pages or after re-login.
MongoDB: MongoServerError: bad auth : Authentication failed (code 8000 / 18)
MongoDB (often Atlas) rejected the username/password in the connection string.
Google Cloud: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started
The Google client library found no Application Default Credentials (ADC) on this machine or environment.
WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."}
The REST endpoint doesn’t exist for that URL and HTTP method — wrong namespace/route, plugin not active, or route registered too…
Laravel: Symfony\Component\Routing\Exception\RouteNotFoundException: Route [login] not defined
Code called route('name') for a route name that doesn’t exist — very often route('login') from the auth middleware in API-only ap…
Two steps away (27)
Git: Permission denied (publickey). fatal: Could not read from remote repository.
SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.
AWS S3: AccessDenied (403) when calling GetObject / PutObject
An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.
Linux: Permission denied
Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.
Error: connect ECONNREFUSED 127.0.0.1:5432
Nothing is listening at that host:port — the target service is down or you’re connecting to the wrong address.
HTTP 407 Proxy Authentication Required
A proxy between you and the server requires credentials before it will forward your request.
TypeError: Failed to fetch / NetworkError when attempting to fetch resource
The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…
Kubernetes: ImagePullBackOff / ErrImagePull
The node can’t pull the container image — wrong name/tag, missing registry credentials, or registry unreachable.
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
SyntaxError: Unexpected token < in JSON at position 0
`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.
Warning: Cannot modify header information - headers already sent
You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.
WordPress: There Has Been a Critical Error on This Website
A PHP fatal error (usually from a plugin or theme) stopped WordPress; the real error is in the debug log or recovery-mode email.
WordPress block editor: The editor has encountered an unexpected error (Attempt Recovery / Copy Error)
A JavaScript error broke the block editor — usually a plugin/theme block script conflict, cached old scripts, or a browser extens…
WordPress: This block contains unexpected or invalid content. Attempt Block Recovery
The saved HTML of a block doesn’t match what the block’s current save function produces — after a plugin update, manual HTML edit…
WordPress: Are you sure you want to do this? Please try again. (nonce check failed)
A WordPress security nonce didn’t validate — the page was open too long, cached, or a plugin/theme form is broken.
JWT Expired / Invalid Token
The JSON Web Token sent with the request is expired, malformed or signed with a different key, so the API rejects it (usually wit…
OAuth 2.0 Error: invalid_grant
The authorization code, refresh token or credentials sent to the token endpoint are invalid, expired, already used or were issued…
API Error: Invalid API Key / Incorrect API key provided
The API didn’t recognise the key sent with the request — it’s wrong, revoked, from another environment, or sent in the wrong plac…
Azure AD (Entra ID): AADSTS50076 / AADSTS50079 — multi-factor authentication required
A Conditional Access policy requires MFA, but the sign-in flow (often a script, legacy client or ROPC password grant) can’t compl…
AWS: Unable to locate credentials / Could not load credentials from any providers
The AWS CLI/SDK found no credentials in any place it looks — env vars, profile files, SSO cache or an instance/task role.
remote: Repository not found. fatal: repository 'https://github.com/x/y.git/' not found
GitHub/GitLab says the repository doesn’t exist — or you lack access to a private repo.
HTTP 404 Not Found
The server can’t find anything at the requested URL.
HTTP 405 Method Not Allowed
The URL exists, but it doesn’t accept the HTTP method you used (e.g. POST to a GET-only route).
Whitelabel Error Page — This application has no explicit mapping for /error
Spring Boot’s default error page — the request hit no controller mapping (404) or a controller threw (500).
fatal: Authentication failed for 'https://github.com/x/y.git/'
HTTPS authentication to the Git host failed — wrong or expired credentials, or a password used where a token is required.
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
GitHub no longer accepts account passwords for Git over HTTPS.
Host key verification failed. fatal: Could not read from remote repository.
SSH doesn’t trust the server’s host key — first connection in a non-interactive environment, or the key changed.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException