Skip to main content
Once you have installed Geni and published its configuration file, your Laravel application is already set up to serve interactive API documentation with zero additional configuration. This guide walks you through verifying the defaults, browsing the portal, exporting a static specification, and wiring up CI drift detection.
1

Verify Default Configuration

Out of the box, Geni uses sensible defaults that work for the vast majority of standard Laravel projects. Before starting your server, confirm these defaults match your project layout:If your project uses a non-standard route prefix or stores migrations elsewhere, open config/geni.php and update the relevant values before proceeding.
2

Browse the Documentation Portal

Start your local Laravel development server:
Then open the documentation portal in your browser:
You will see an interactive portal built with Blade and Alpine.js. It includes:
  • Live search across all endpoints, parameters, and schemas
  • Syntax-highlighted request and response examples
  • Try It console to send real HTTP requests directly from the browser, with no JavaScript build step required
The docs portal is restricted to the local environment by default. If you visit the URL on a non-local environment and see a 404, check the environments setting in config/geni.php.
3

Export the OpenAPI Specification

Write a static OpenAPI 3.1.0 JSON file to your project using the geni:export Artisan command:
On success, Geni prints a confirmation line:
The exported file conforms to the OpenAPI 3.1.0 standard and is compatible with any tooling that accepts it — including Swagger UI, Redoc, Stoplight, and AI agent tool manifests.
4

Run CI Drift Detection

Commit the exported openapi.json to your repository, then add a drift-check step to your CI pipeline:
Geni compares the committed file against a freshly generated specification from your current source code:
  • Exit code 0 — the committed spec matches the source. Your CI step passes.
  • Exit code 1 — one or more routes, parameters, or schemas have changed since the file was committed. Geni prints a human-readable diff and your CI step fails, blocking the merge until the spec is updated.
Because Geni requires no database and no app boot, this check runs reliably in any CI environment without any services or environment variables attached.
Congratulations — you now have automated, static-analysis API documentation running in your Laravel application. From here, explore config/geni.php to add authentication to the portal, define multiple API versions, or configure security schemes for your specification.