Error map

403 HTTP 403 Forbidden

HTTP · layer 2, Network

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). 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.

403 — HTTP 403 Forbidden (HTTP)403404 — HTTP 404 Not Found (HTTP)404Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…EACCES — Linux: Permission denied (Linux)EACCESinvalid_api_key — API Error: Invalid API Key / Incorrect API key provided (API)invalid_api_keyCORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORS0x80070005 — Windows Error 0x80070005 (E_ACCESSDENIED): Access is denied (Windows)0x800700051020 — Cloudflare Error 1020: Access Denied (Cloudflare)1020github-actions[bot] 403 — remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403 (Git)github-actions[bot]…Operation not permitted (macOS privacy) — macOS: Operation not permitted — Terminal/app lacks Full Disk Access (TCC privacy protection) (macOS)Operation not permi…401 — HTTP 401 Unauthorized (HTTP)401session save path — Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied (PHP)session save path402 — HTTP 402 Payment Required (HTTP)402405 — HTTP 405 Method Not Allowed (HTTP)405410 — HTTP 410 Gone (HTTP)410SyntaxError: JSON — SyntaxError: Unexpected token < in JSON at position 0 (JavaScript)SyntaxError: JSON502 — HTTP 502 Bad Gateway (HTTP)502Allowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…ArgumentCountError — Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected (PHP)ArgumentCountErrorpublickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyEACCES — npm ERR! code EACCES — permission denied (npm)EACCESdaemon — Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Docker)daemonTokenExpiredError — JWT Expired / Invalid Token (Authentication)TokenExpiredErrorwebhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signatureNoCredentialsError — AWS: Unable to locate credentials / Could not load credentials from any providers (AWS)NoCredentialsErrorAccessDenied — AWS S3: AccessDenied (403) when calling GetObject / PutObject (AWS)AccessDeniedFailed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchGRAPHQL_VALIDATION_FAILED — GraphQL: Cannot query field "x" on type "Y" (API)GRAPHQL_VALIDATION_…0x80070002 — Windows Error 0x80070002: The system cannot find the file specified (Windows)0x800700020x80004005 — Windows Error 0x80004005 (E_FAIL): Unspecified error (Windows)0x80004005AccessDeniedException — java.nio.file.AccessDeniedException: /path (Java)AccessDeniedExcepti…429 — HTTP 429 Too Many Requests (HTTP)429520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520iptables: No chain/target/match — driver failed programming external connectivity on endpoint: iptables: No chain/target/match by that name (Docker)iptables: No chain/…protected branch — remote: error: GH006: Protected branch update failed / pre-receive hook declined (Git)protected branchshallow update not allowed — ! [remote rejected] main -> main (shallow update not allowed) (Git)shallow update not …workflow scope — ! [remote rejected] … (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/x.yml` without `workflow` scope) (Git)workflow scopeinvalid_scope — OAuth 2.0 Error: invalid_scope / insufficient_scope (Authentication)invalid_scopesudoers — user is not in the sudoers file. This incident will be reported. (Linux)sudoersNot allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowedImagePullBackOff — Kubernetes: ImagePullBackOff / ErrImagePull (Kubernetes)ImagePullBackOffAADSTS700016 — Azure AD (Entra ID): AADSTS700016 Application not found in the directory (Azure)AADSTS700016400 — HTTP 400 Bad Request (HTTP)400ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredTokensession_start() — Warning: session_start(): Session cannot be started after headers have already been sent (PHP)session_start()Laravel storage — Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied (PHP)Laravel storageThrottlingException — AWS: ThrottlingException / Rate exceeded (AWS)ThrottlingExceptionSkuNotAvailable — Azure: SkuNotAvailable / QuotaExceeded when creating a VM or resource (Azure)SkuNotAvailable507 — HTTP 507 Insufficient Storage (HTTP)507

Directly related (12)

404HTTP

HTTP 404 Not Found

The server can’t find anything at the requested URL.

Primary script unknownPHP

FastCGI sent in stderr: "Primary script unknown"

Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.

EACCESLinux

Linux: Permission denied

Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.

invalid_api_keyAPI

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…

CORSAPI

CORS Error: No 'Access-Control-Allow-Origin' header is present

The browser blocked a cross-origin request because the server’s response didn’t include the CORS headers allowing your site’s ori…

0x80070005Windows

Windows Error 0x80070005 (E_ACCESSDENIED): Access is denied

Windows refused an operation because the account or process lacks permission — seen in Windows Update, installers, Task Scheduler…

1020Cloudflare

Cloudflare Error 1020: Access Denied

A Cloudflare firewall/WAF custom rule blocked the request — the visitor’s IP, country, user agent or request pattern matched a bl…

github-actions[bot] 403Git

remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403

A GitHub Actions workflow tried to push but the GITHUB_TOKEN doesn’t have write permission.

Operation not permitted (macOS privacy)macOS

macOS: Operation not permitted — Terminal/app lacks Full Disk Access (TCC privacy protection)

macOS privacy protection (TCC) blocked access to protected folders (Desktop, Documents, Downloads, Mail, Photos, external volumes…

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

session save pathPHP

Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied

PHP can’t write session files to the configured session.save_path.

402HTTP

HTTP 402 Payment Required

The service wants payment before it will process the request — an unpaid invoice, exhausted credits or a failed card.

Two steps away (36)

405HTTP

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).

410HTTP

HTTP 410 Gone

The resource used to exist but was intentionally and permanently removed, with no forwarding address.

SyntaxError: JSONJavaScript

SyntaxError: Unexpected token < in JSON at position 0

`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.

502HTTP

HTTP 502 Bad Gateway

A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.

Allowed memory size exhaustedPHP

PHP Fatal error: Allowed memory size of X bytes exhausted

The script tried to use more memory than PHP’s `memory_limit` allows.

ArgumentCountErrorPHP

Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected

A function was called with fewer arguments than it requires.

publickeyGit

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.

EACCESnpm

npm ERR! code EACCES — permission denied

npm can’t write to a directory — usually global installs into a root-owned folder.

daemonDocker

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.

TokenExpiredErrorAuthentication

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…

webhook signatureAPI

Webhook signature verification failed (Stripe, Razorpay, GitHub…)

Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.

NoCredentialsErrorAWS

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.

AccessDeniedAWS

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.

Failed to fetchJavaScript

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…

GRAPHQL_VALIDATION_FAILEDAPI

GraphQL: Cannot query field "x" on type "Y"

The query asks for a field that doesn’t exist in the server’s schema (or isn’t available on that type).

0x80070002Windows

Windows Error 0x80070002: The system cannot find the file specified

A file or registry entry Windows expected is missing — common in Windows Update, backups and app installs.

0x80004005Windows

Windows Error 0x80004005 (E_FAIL): Unspecified error

A generic failure code — the operation failed for a reason the component didn’t report precisely. Context decides the fix.

AccessDeniedExceptionJava

java.nio.file.AccessDeniedException: /path

The OS denied a file operation to the Java process.

429HTTP

HTTP 429 Too Many Requests

You’ve hit a rate limit — too many requests in a given time window. Slow down and retry later.

520Cloudflare

Cloudflare Error 520: Web Server Returned an Unknown Error

Cloudflare connected to your origin, but the origin returned an empty, unknown or invalid response.

iptables: No chain/target/matchDocker

driver failed programming external connectivity on endpoint: iptables: No chain/target/match by that name

Docker’s iptables rules were wiped (firewalld/ufw reload, iptables flush) while Docker was running, so it can’t publish ports.

protected branchGit

remote: error: GH006: Protected branch update failed / pre-receive hook declined

The server rejected your push because of branch protection rules or a server-side hook.

shallow update not allowedGit

! [remote rejected] main -> main (shallow update not allowed)

You pushed from a shallow clone to a remote that doesn’t accept shallow history.

workflow scopeGit

! [remote rejected] … (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/x.yml` without `workflow` scope)

Your token can’t modify GitHub Actions workflow files without the workflow scope.

invalid_scopeAuthentication

OAuth 2.0 Error: invalid_scope / insufficient_scope

The requested scope is unknown or not allowed for this client — or the token lacks the scope the API endpoint requires.

sudoersLinux

user is not in the sudoers file. This incident will be reported.

Your account isn’t allowed to use sudo.

Not allowedWordPress

WordPress: Sorry, you are not allowed to access this page.

Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…

ImagePullBackOffKubernetes

Kubernetes: ImagePullBackOff / ErrImagePull

The node can’t pull the container image — wrong name/tag, missing registry credentials, or registry unreachable.

AADSTS700016Azure

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.

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

session_start()PHP

Warning: session_start(): Session cannot be started after headers have already been sent

session_start() ran after output was sent, so PHP can’t set the session cookie.

Laravel storagePHP

Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied

The web server can’t write to Laravel’s storage or bootstrap/cache directories.

ThrottlingExceptionAWS

AWS: ThrottlingException / Rate exceeded

You exceeded the request rate for an AWS API; retry with exponential backoff.

SkuNotAvailableAzure

Azure: SkuNotAvailable / QuotaExceeded when creating a VM or resource

The VM size isn’t offered in that region/zone for your subscription, or you’ve hit the vCPU quota.

507HTTP

HTTP 507 Insufficient Storage

The server can’t store what’s needed to complete the request — the disk, quota or mailbox is full.