Error map

Sanctum: 401 Unauthenticated Laravel Sanctum: {"message":"Unauthenticated."} 401 on API / SPA requests

Laravel · layer 4, Application & API

Open the full error page →

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

Sanctum: 401 Unauthenticated — Laravel Sanctum: {"message":"Unauthenticated."} 401 on API / SPA requests (Laravel)Sanctum: 40…419 Page Expired — Laravel: 419 Page Expired (CSRF token mismatch) (PHP)419 Page Expiredinvalid csrf token — ForbiddenError: invalid csrf token (EBADCSRFTOKEN) (Authentication)invalid csrf tokenLaravel: Allowed memory size exhausted (request) — Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework (Laravel)Laravel: Allowed me…403 This action is unauthorized — Laravel: Illuminate\Auth\Access\AuthorizationException: This action is unauthorized. (Laravel)403 This action is …429 Too Many Requests (Laravel throttle) — Laravel: Illuminate\Http\Exceptions\ThrottleRequestsException: Too Many Attempts. / 429 Too Many Requests (Laravel)429 Too Many Reques…CORS blocked (Laravel API) — Browser: Access to XMLHttpRequest at 'https://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header — Laravel (Laravel)CORS blocked (Larav…Session store not set on request — Laravel: RuntimeException: Session store not set on request (Laravel)Session store not s…422 Unprocessable Entity: The given data was invalid — Laravel: {"message":"The given data was invalid.","errors":{"email":["The email field is required."]}} (422) (Laravel)422 Unprocessable E…Command "x" is not defined — Laravel: Symfony\Component\Console\Exception\CommandNotFoundException: Command "make:livewire" is not defined. Did you mean one of these? (Laravel)Command "x" is not …Attempt to read property "x" on null — Laravel/PHP 8: ErrorException: Attempt to read property "name" on null (Laravel)Attempt to read pro…Token has expired (tymon/jwt-auth) — Laravel JWT: Tymon\JWTAuth\Exceptions\TokenExpiredException: Token has expired / The token could not be parsed from the request (Laravel)Token has expired (…403 — HTTP 403 Forbidden (HTTP)403No application encryption key — Laravel: No application encryption key has been specified. (PHP)No application encr…Target class does not exist — Laravel: Target class [App\Http\Controllers\X] does not exist. (PHP)Target class does n…ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredToken401 — HTTP 401 Unauthorized (HTTP)401webhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signatureAllowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…SIGSEGV — Segmentation fault (core dumped) (Linux)SIGSEGVOOM killer — Killed / Out of memory: Killed process (Linux OOM killer) (Linux)OOM killerClass "App\Models\X" not found — Laravel: Error: Class "App\Models\Post" not found (Laravel)Class "App\Models\X…Undefined variable $x (Blade view) — Laravel: ErrorException: Undefined variable $posts (View: /resources/views/posts/index.blade.php) (Laravel)Undefined variable …No query results for model — Laravel: Illuminate\Database\Eloquent\ModelNotFoundException: No query results for model [App\Models\Post] 5 (Laravel)No query results fo…421 4.7.0 Try again later (rate limited) — SMTP: 421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address. Mail sent from your IP address has been temporarily rate limited (Email / SMTP)421 4.7.0 Try again…SES: Maximum sending rate exceeded — Amazon SES: Throttling — Maximum sending rate exceeded (454 Throttling failure) (Email / SMTP)SES: Maximum sendin…DecryptException: The payload is invalid / The MAC is invalid — Laravel: Illuminate\Contracts\Encryption\DecryptException: The payload is invalid. / The MAC is invalid. (Laravel)DecryptException: T…1406 — MySQL ERROR 1406: Data too long for column (MySQL)14061048 — MySQL ERROR 1048 (23000): Column 'x' cannot be null (MySQL)10481264 — MySQL ERROR 1264 (22003): Out of range value for column 'x' at row 1 (MySQL)1264Laravel 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 storageVite manifest not found — Laravel: Vite manifest not found at: public/build/manifest.json (PHP)Vite manifest not f…This does not seem to be a WordPress installation — WP-CLI: Error: This does not seem to be a WordPress installation. Pass --path=`path/to/wordpress` or run `wp core download` (WordPress)This does not seem …Laravel: Expected response code 250 but got 550 — Laravel: Expected response code "250" but got code "550", with message "550 5.7.1 Relaying denied" (Email / SMTP)Laravel: Expected r…BadMethodCallException: Call to undefined method — Laravel: BadMethodCallException: Call to undefined method App\Models\Post::whereTitle() / Illuminate\Database\Eloquent\Builder::foo() (Laravel)BadMethodCallExcept…Base table or view already exists — Laravel: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (Laravel)Base table or view …TokenExpiredError — JWT Expired / Invalid Token (Authentication)TokenExpiredError

Directly related (11)

419 Page ExpiredPHP

Laravel: 419 Page Expired (CSRF token mismatch)

Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.

invalid csrf tokenAuthentication

ForbiddenError: invalid csrf token (EBADCSRFTOKEN)

The request’s CSRF token is missing or doesn’t match the token tied to the user’s session/cookie.

Laravel: Allowed memory size exhausted (request)Laravel

Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework

A request (or artisan job) used more memory than PHP's `memory_limit` allows.

403 This action is unauthorizedLaravel

Laravel: Illuminate\Auth\Access\AuthorizationException: This action is unauthorized.

A policy or gate denied the action for the current user, so Laravel returned HTTP 403.

429 Too Many Requests (Laravel throttle)Laravel

Laravel: Illuminate\Http\Exceptions\ThrottleRequestsException: Too Many Attempts. / 429 Too Many Requests

Laravel's rate limiter blocked the client for exceeding the allowed requests per minute.

CORS blocked (Laravel API)Laravel

Browser: Access to XMLHttpRequest at 'https://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header — Laravel

The browser blocked a cross-origin call to your Laravel API because the response lacks the right CORS headers.

Session store not set on requestLaravel

Laravel: RuntimeException: Session store not set on request

Code used `session()` or `$request->session()` in a route/middleware group that doesn't run the session middleware.

422 Unprocessable Entity: The given data was invalidLaravel

Laravel: {"message":"The given data was invalid.","errors":{"email":["The email field is required."]}} (422)

Request validation failed, so Laravel returned HTTP 422 with the field errors.

Command "x" is not definedLaravel

Laravel: Symfony\Component\Console\Exception\CommandNotFoundException: Command "make:livewire" is not defined. Did you mean one of these?

`php artisan` doesn't know the command you typed — typo, missing package or an unregistered service provider.

Attempt to read property "x" on nullLaravel

Laravel/PHP 8: ErrorException: Attempt to read property "name" on null

You accessed a property on a value that is `null`, typically an empty relationship or a query that found nothing.

Token has expired (tymon/jwt-auth)Laravel

Laravel JWT: Tymon\JWTAuth\Exceptions\TokenExpiredException: Token has expired / The token could not be parsed from the request

A JWT sent by the client is expired, invalid or absent, so `jwt-auth` rejects the request.

Two steps away (25)

403HTTP

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…

No application encryption keyPHP

Laravel: No application encryption key has been specified.

Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.

Target class does not existPHP

Laravel: Target class [App\Http\Controllers\X] does not exist.

Laravel’s container couldn’t find the controller or class named in a route or binding.

ExpiredTokenAWS

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

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

401HTTP

HTTP 401 Unauthorized

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

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.

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.

SIGSEGVLinux

Segmentation fault (core dumped)

A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).

OOM killerLinux

Killed / Out of memory: Killed process (Linux OOM killer)

The kernel ran out of memory and killed a process to recover — the program just prints “Killed” (exit code 137).

Class "App\Models\X" not foundLaravel

Laravel: Error: Class "App\Models\Post" not found

PHP can't find the class you referenced — a missing import, wrong namespace or file name, or a stale autoloader.

Undefined variable $x (Blade view)Laravel

Laravel: ErrorException: Undefined variable $posts (View: /resources/views/posts/index.blade.php)

A Blade template uses a variable the controller didn't pass to the view.

No query results for modelLaravel

Laravel: Illuminate\Database\Eloquent\ModelNotFoundException: No query results for model [App\Models\Post] 5

`findOrFail`, `firstOrFail` or route-model binding couldn't find a record, so Laravel returns a 404.

421 4.7.0 Try again later (rate limited)Email / SMTP

SMTP: 421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address. Mail sent from your IP address has been temporarily rate limited

The receiving server (often Gmail or Outlook) is temporarily throttling your mail because the volume or reputation of your sendin…

SES: Maximum sending rate exceededEmail / SMTP

Amazon SES: Throttling — Maximum sending rate exceeded (454 Throttling failure)

You are sending faster than your Amazon SES account's per-second limit, so SES throttles the requests.

DecryptException: The payload is invalid / The MAC is invalidLaravel

Laravel: Illuminate\Contracts\Encryption\DecryptException: The payload is invalid. / The MAC is invalid.

Laravel couldn't decrypt a cookie, session or encrypted value — the `APP_KEY` changed or the data was corrupted.

1406MySQL

MySQL ERROR 1406: Data too long for column

The value is longer than the column allows (e.g. 300 characters into VARCHAR(255)), and strict mode rejects it instead of truncat…

1048MySQL

MySQL ERROR 1048 (23000): Column 'x' cannot be null

An INSERT/UPDATE put NULL into a NOT NULL column.

1264MySQL

MySQL ERROR 1264 (22003): Out of range value for column 'x' at row 1

A number is too large (or negative for UNSIGNED) for the column type.

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.

Vite manifest not foundPHP

Laravel: Vite manifest not found at: public/build/manifest.json

Laravel’s @vite directive can’t find the compiled asset manifest because assets weren’t built.

This does not seem to be a WordPress installationWordPress

WP-CLI: Error: This does not seem to be a WordPress installation. Pass --path=`path/to/wordpress` or run `wp core download`

WP-CLI couldn’t find WordPress in the current directory (or the --path given).

Laravel: Expected response code 250 but got 550Email / SMTP

Laravel: Expected response code "250" but got code "550", with message "550 5.7.1 Relaying denied"

Laravel connected and authenticated but the SMTP server rejected the message at the RCPT TO / MAIL FROM / DATA step with the code…

BadMethodCallException: Call to undefined methodLaravel

Laravel: BadMethodCallException: Call to undefined method App\Models\Post::whereTitle() / Illuminate\Database\Eloquent\Builder::foo()

You called a method the model, builder or collection doesn't have.

Base table or view already existsLaravel

Laravel: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

A migration tries to create a table that is already in the database.

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…