ronu / laravel-openapi-generator
Automatic OpenAPI 3.0.3 documentation generator for Laravel with Postman and Insomnia export support
Installs: 56
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/ronu/laravel-openapi-generator
Requires
- php: ^8.1|^8.2|^8.3
- cebe/php-openapi: ^1.7
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- symfony/yaml: ^6.0|^7.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.0|^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- dev-main
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.1
- 1.2.0
- 1.1.9
- 1.1.8
- 1.1.6
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.2
- 1.0.0
- dev-codex/audit-and-document-laravel-package
- dev-codex/auditar-proyecto-laravel-12-y-proponer-acciones
- dev-codex/generate-documentation-for-ronu/laravel-openapi-generator
- dev-claude/library-documentation-EoBd3
- dev-claude/update-openapi-templates-i5DFP
- dev-claude/document-validate-endpoint-KNgK4
- dev-claude/fix-generic-docs-generation-kTRHJ
- dev-claude/fix-template-variables-4uiYx
- dev-claude/fix-api-file-generation-LwkCt
- dev-codex/fix-undefined-array-key-base_url-fw8rx8
- dev-codex/fix-undefined-array-key-base_url
- dev-codex/analyze-undefined-method-error-in-openapiservices
- dev-codex/analyze-library-code-for-errors-and-improvements-q06x5e
- dev-codex/analyze-library-code-for-errors-and-improvements-7oqpo3
- dev-codex/analyze-library-code-for-errors-and-improvements
- dev-codex/refactor-project-to-library-format
- dev-codex/change-key-movile-to-mobile
- dev-codex/create-tests-folder-with-base-testcase
- dev-codex/create-minimal-openapi-ui-view
- dev-codex/update-query-param-to-api_type
- dev-codex/confirm-and-update-openapi-route-names
- dev-codex/add-route-loading-in-openapigeneratorserviceprovider
- dev-codex/update-config-and-template-paths
This package is auto-updated.
Last update: 2026-02-04 11:22:12 UTC
README
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.