SeviaFlow Get Started

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

MethodPathName
GET/adminseviaflow.dashboard
GET/admin/dashboards/{dashboard}seviaflow.dashboards.show
GET/admin/resources/{resource}seviaflow.resources.index
GET/admin/resources/{resource}/createseviaflow.resources.create
GET/admin/resources/{resource}/{record}seviaflow.resources.show
GET/admin/resources/{resource}/{record}/editseviaflow.resources.edit
GET/admin/settings/rolesseviaflow.settings.roles.index
GET/admin/settings/roles/createseviaflow.settings.roles.create
GET/admin/settings/roles/{role}/editseviaflow.settings.roles.edit
GET/admin/settings/admin-usersseviaflow.settings.admin-users.index
GET/admin/settings/admin-users/{user}/rolesseviaflow.settings.admin-users.roles
POST/admin/logoutseviaflow.logout
GET/POST/admin/loginseviaflow.login, seviaflow.login.store
GET/POST/admin/login/two-factorseviaflow.login.two-factor, seviaflow.login.two-factor.verify
GET/POST/admin/forgot-passwordseviaflow.password.request, seviaflow.password.email
GET/POST/admin/reset-passwordseviaflow.password.reset, seviaflow.password.update
GET/POST/admin/profileseviaflow.profile.index, seviaflow.profile.update
GET/POST/admin/profile/passwordseviaflow.profile.password, seviaflow.profile.password.update
GET/POST/DELETE/admin/profile/two-factor-authenticationseviaflow.profile.two-factor-authentication*
POST/admin/profile/two-factor-authentication/confirmseviaflow.profile.two-factor-authentication.confirm
POST/admin/profile/two-factor-authentication/recovery-codesseviaflow.profile.two-factor-authentication.recovery-codes.regenerate
GET/POST/admin/profile/browser-sessionsseviaflow.profile.browser-sessions*

API Routes

MethodPathName
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}/flowseviaflow.api.resources.flow
POST/api/admin/resources/{resource}/{record}/flow/{transition}seviaflow.api.resources.flow.execute
GET/api/admin/openapi.jsonseviaflow.api.openapi
GET/api/admin/api-docsseviaflow.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.