Laravel API Toolkit supercharges your API development with standardized responses, dynamic pagination, and more. At the time of writing, it supports the following features:
- Schema support
- Pagination helpers
- API Generator Command
- API filtering
- Actions
- Media helpers
- And more...
Using the provided api:generate Artisan command, you can easily generate all the key files needed, including controller, requests, resources, models, migrations, etc:
php artisan api:generate Customer \ "username:string|age:integer:nullable|company_id:foreignId|status:enum(new,old)" \ --all
After running the above command, the following files are created, giving you everything you need to start building the Customer API:

Filtering is another useful feature in this package, giving you the ability to define which fields you can filter on. Given the example of a Car model, here's what your filter configuration might look like:
namespace App\Models; use Essa\APIToolKit\Filters\Filterable; class Car extends Model { use Filterable; protected string $default_filters = CarFilters::class; // Other model code... }
And the CarFilters class might look like:
namespace App\Filters; use Essa\APIToolKit\Filters\QueryFilters; class CarFilters extends QueryFilters { protected array $allowedFilters = ['color', 'model_id']; protected array $columnSearch = []; } // GET /cars?color=red
Actions is another feature that you can use in this package to encapsulate business logic within distinct classes that you can use to compose
namespace App\Actions; class CreateCar { public function execute($data) { // ... } } // usage example in a controller public function store(Request $request) { $this->createCar->execute($request->all()); }
To get started with this package, check out the documentation at laravelapitoolkit.com. You can learn more about this package, get full installation instructions, and view the source code on GitHub.