'email'=>'requred|email'
Literówka, powinno być required.
Zamiast:
Route::post('forgot',[App\Http\Controllers\Api\AuthController::class,'forgot']);
Możesz skorzystać z krótszego zapisu:
Route::post('forgot', 'AuthController@forgot');
Wystarczy, że odkomentujesz // protected $namespace = 'App\\Http\\Controllers';
(29 linijka w app/providers/RouteServiceProvider.php)
Większy porządek w controllerze zachowałbyś gdyby walidacja danych odbywała się w klasach Request'a, a sam obiekt Request przyjmowałbyś w zmiennej jako argument akcji kontrolera, docs.