Routes
Routes are registered by optional adapters. Core does not register UI or API routes. The path placeholder {resource} is resolved from the resources map in config/seviaflow.php; for example, the map key customers makes /admin/resources/customers address your Customer Resource. The route table therefore shows a placeholder rather than one route per Resource.
UI routes are protected by the configured web middleware and Core panel gate. API routes use the API adapter middleware, which defaults to api and auth:sanctum. The panel gate does not secure API requests. See Authorization before exposing a Resource.
UI Routes
| Method | Path | Name |
|---|---|---|
| GET | /admin | seviaflow.dashboard |
| GET | /admin/dashboards/{dashboard} | seviaflow.dashboards.show |
| GET | /admin/resources/{resource} | seviaflow.resources.index |
| GET | /admin/resources/{resource}/create | seviaflow.resources.create |
| GET | /admin/resources/{resource}/{record} | seviaflow.resources.show |
| GET | /admin/resources/{resource}/{record}/edit | seviaflow.resources.edit |
| GET | /admin/settings/roles | seviaflow.settings.roles.index |
| GET | /admin/settings/roles/create | seviaflow.settings.roles.create |
| GET | /admin/settings/roles/{role}/edit | seviaflow.settings.roles.edit |
| GET | /admin/settings/admin-users | seviaflow.settings.admin-users.index |
| GET | /admin/settings/admin-users/{user}/roles | seviaflow.settings.admin-users.roles |
| POST | /admin/logout | seviaflow.logout |
| GET/POST | /admin/login | seviaflow.login, seviaflow.login.store |
| GET/POST | /admin/login/two-factor | seviaflow.login.two-factor, seviaflow.login.two-factor.verify |
| GET/POST | /admin/forgot-password | seviaflow.password.request, seviaflow.password.email |
| GET/POST | /admin/reset-password | seviaflow.password.reset, seviaflow.password.update |
| GET/POST | /admin/profile | seviaflow.profile.index, seviaflow.profile.update |
| GET/POST | /admin/profile/password | seviaflow.profile.password, seviaflow.profile.password.update |
| GET/POST/DELETE | /admin/profile/two-factor-authentication | seviaflow.profile.two-factor-authentication* |
| POST | /admin/profile/two-factor-authentication/confirm | seviaflow.profile.two-factor-authentication.confirm |
| POST | /admin/profile/two-factor-authentication/recovery-codes | seviaflow.profile.two-factor-authentication.recovery-codes.regenerate |
| GET/POST | /admin/profile/browser-sessions | seviaflow.profile.browser-sessions* |
API Routes
| Method | Path | Name |
|---|---|---|
| GET | /api/admin/resources/{resource} | seviaflow.api.resources.index |
| POST | /api/admin/resources/{resource} | seviaflow.api.resources.store |
| GET | /api/admin/resources/{resource}/{record} | seviaflow.api.resources.show |
| PATCH | /api/admin/resources/{resource}/{record} | seviaflow.api.resources.update |
| DELETE | /api/admin/resources/{resource}/{record} | seviaflow.api.resources.destroy |
| GET | /api/admin/resources/{resource}/{record}/flow | seviaflow.api.resources.flow |
| POST | /api/admin/resources/{resource}/{record}/flow/{transition} | seviaflow.api.resources.flow.execute |
| GET | /api/admin/openapi.json | seviaflow.api.openapi |
| GET | /api/admin/api-docs | seviaflow.api.docs |
Default API middleware is api, auth:sanctum. The playground overrides API middleware to api, web for local integration testing. Installing the API adapter registers these route patterns; each Resource must still opt in through its API contract.
Inspect routes in your app
php artisan route:list --path=admin/resources
php artisan route:list --path=api/admin/resources
Use config:clear if recent config edits do not appear. The second command is relevant only when the API adapter is installed.
Get Started