andreaselia / laravel-api-to-postman
Generate a Postman collection automatically from your Laravel API
Package info
github.com/andreaselia/laravel-api-to-postman
pkg:composer/andreaselia/laravel-api-to-postman
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/config: ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/console: ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/contracts: ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/routing: ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- phpstan/phpdoc-parser: ^1.26|^2.0
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.0|^9.0|^11.0
- phpunit/phpunit: ^10.0|^11.0|^12.5.12
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.16.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.0
- v1.8.0
- v1.7.10
- v1.7.9
- v1.7.8
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- dev-chore/maintenance
This package is auto-updated.
Last update: 2026-10-24 11:12:39 UTC
README
Laravel API to Postman
This package allows you to automatically generate a Postman collection based on your API routes. It also provides basic configuration and support for bearer auth tokens and basic auth for routes behind an auth middleware.
For POST and PUT requests that utilizes a FormRequest, you can optionally scaffold the request, and publish rules in raw or human readable format.
Postman Schema
The generator works for the latest version of the Postman Schema at the time of publication (v2.1.0).
Installation
Install the package:
composer require andreaselia/laravel-api-to-postman
Publish the config file:
php artisan vendor:publish --provider="AndreasElia\PostmanGenerator\PostmanGeneratorServiceProvider"
Configuration
You can modify any of the api-postman.php config values to suit your export requirements.
Click here to view the config attributes.
Usage
The collection is saved in the postman directory of the disk configured by the disk option (the local disk by default, which is storage/app/private on Laravel 11+ and storage/app on older versions). The full path is printed once the export has finished.
To use the command simply run:
php artisan export:postman
The following usage will generate routes with the bearer token specified.
php artisan export:postman --bearer="1|XXNKXXqJjfzG8XXSvXX1Q4pxxnkXmp8tT8TXXKXX"
The following usage will generate routes with the basic auth specified.
php artisan export:postman --basic="username:password123"
If both auths are specified, bearer will be favored.
The auth header is only added to routes that use the middleware configured by the auth_middleware option (auth:api by default), or any auth / auth:* middleware such as auth:sanctum.
Instead of passing an option, you can also configure the authentication in your .env file. Options passed to the command take precedence over these values.
POSTMAN_EXPORT_AUTH_METHOD=bearer # or basic POSTMAN_EXPORT_AUTH_TOKEN=your-token
If a method is set without a token, the requests will use the {{token}} collection variable, which you can fill in from within Postman.
Examples
This is with the default configuration and a bearer token passed in:
php artisan export:postman --bearer=123456789
Contributing
You're more than welcome to submit a pull request, or if you're not feeling up to it - create an issue so someone else can pick it up.
