laravel-openapi-generator maintained by ronu
Description
Automatic OpenAPI 3.0.3 documentation generator for Laravel with Postman and Insomnia export support
Author
Last update
2026/02/04 12:22
(dev-main)
License
Downloads
76
Tags
laravel - swagger - postman - openapi - rest-api - api-documentation - documentation-generator - insomnia
Last update
2026/02/04 12:22
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/02/04 12:21
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/02/04 11:29
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/02/04 01:22
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/02/03 00:17
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/02/03 00:01
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/28 17:18
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/28 17:17
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/28 16:23
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/28 16:05
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/28 00:17
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 23:42
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 23:38
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 23:14
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 10:24
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 10:20
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 10:05
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 00:32
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/27 00:12
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 23:40
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 23:37
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 21:17
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 21:16
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 21:10
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 21:08
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 20:53
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 20:50
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 17:49
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 17:36
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 17:34
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 17:16
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 17:13
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 16:59
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 16:49
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/26 15:29
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/14 13:10
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/13 16:22
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 23:04
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 17:11
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:37
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:31
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:30
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:30
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:30
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:24
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Last update
2026/01/12 16:21
License
Require
- php ^8.1|^8.2|^8.3
- illuminate/support ^10.0|^11.0|^12.0
- illuminate/console ^10.0|^11.0|^12.0
- illuminate/routing ^10.0|^11.0|^12.0
- cebe/php-openapi ^1.7
- symfony/yaml ^6.0|^7.0
Laravel OpenAPI Generator
Automatic OpenAPI 3.0.3, Postman, and Insomnia documentation generation for Laravel applications.
Requirements
- PHP 8.1+
- Laravel 10.x, 11.x, or 12.x
- Composer 2.x
Installation
composer require ronu/laravel-openapi-generator
Publish configuration (recommended):
php artisan vendor:publish --tag=openapi-config
Publish templates (optional):
php artisan vendor:publish --tag=openapi-templates
Quickstart
Generate OpenAPI JSON:
php artisan openapi:generate
Generate all formats:
php artisan openapi:generate --all
Fetch via HTTP (when routes are enabled):
curl http://localhost:8000/documentation/openapi.json
curl http://localhost:8000/documentation/postman
curl http://localhost:8000/documentation/insomnia
Minimum viable configuration
The package works out-of-the-box, but most teams configure API types and routes in config/openapi.php:
return [
'api_types' => [
'admin' => [
'prefix' => 'admin',
'folder_name' => 'API Admin',
'enabled' => true,
],
'mobile' => [
'prefix' => 'mobile',
'folder_name' => 'API Mobile',
'enabled' => true,
],
],
'routes' => [
'enabled' => true,
'prefix' => 'documentation',
'middleware' => [],
],
];
Common scenarios
1) Filter docs by API type
php artisan openapi:generate --all --api-type=admin --api-type=mobile
2) Expose documentation via HTTP
curl "http://localhost:8000/documentation/openapi.json?api_type=admin,mobile"
3) Add custom endpoint docs
// config/openapi-docs.php
'custom_endpoints' => [
'api-apps.rotate' => [
'summary' => 'Rotate API Key',
'description' => 'Generates a new API key for the application.',
'request_fields' => [
'reason' => 'Optional reason for key rotation',
],
],
],
Edge scenarios (short list)
- Config caching + runtime
env()usage can keep old values; prefer config overrides and clear cache. - Concurrent generation can write to the same output files; use
--outputfor unique paths. - Large route sets may time out on HTTP endpoints; generate via CLI and serve files from storage.
See Edge and extreme scenarios for details.
API reference
Troubleshooting (quick)
- Invalid api_type: Check
openapi.api_typesand ensure the key is enabled. - No routes found: Review
openapi.exclude_routesand API type filters. - Placeholders not updating: Clear config cache or set config values explicitly.
Full documentation
Start here: documentation/index.md
Contributing & security
- Contributing guide: open a PR with clear scope and tests when possible.
- Security: please report vulnerabilities privately to the maintainers.
License
MIT. See LICENSE.