Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

sham's avatar
Level 1

API routes return 404 in Laravel

I have https://tenancyforlaravel.com/ installed in laravel to make multi-tenant and it works fine for the web routes.

My problem is that when I access my APIs then I get a 404 error in tenant domains.

tenancyforlaravel documentation: https://tenancyforlaravel.com/docs/v3/routes

It says that I must put all my APIs inside api.php file and wrap them in a Route group with this middleware so I put all my APIs inside api.php file and all my APIs as below:

Route::middleware('tenancy')->group(function () {
    Route::name('api.')->namespace('Api')->group(function () {
        Route::post('/login', 'AuthController@login')->name('login');
        ...
});

and when I access it using sub.local.test/api/login then I get 404 error.

0 likes
3 replies
MohamedTammam's avatar

Did you add \Stancl\Tenancy\Middleware\PreventAccessFromTenantDomains::class to your api middleware group?

// app/Http/Kernel.php
protected $middlewareGroups = [
    // ...
    'api' => [
        \Stancl\Tenancy\Middleware\PreventAccessFromTenantDomains::class,
        // ...
    ]
];
sham's avatar
sham
OP
Best Answer
Level 1

For others, if they face the same problem: Tested for tenancyforlaravel.com V3 and it works OK.

Route::middleware([
    InitializeTenancyByDomain::class,
    PreventAccessFromCentralDomains::class
    ])->prefix('api')->group(function () {
    //
    Route::name('api.')->namespace('App\Http\Controllers\Api')->group(function () {
        Route::post('/login', 'AuthController@login')->name('login');
        ...
});

Please or to participate in this conversation.