Rest API
REST API Overview
10/11/2026
Versioned Laravel/Go API boundaries used by the Account Flutter profile.
Contract
DioService builds Account URLs from:
Endpoints.baseURL + /api/v1 + routePathSet the host root via API_BASE_URL — the apiBaseUrl default in lib/config/app_env.dart or a --dart-define. Guest mode blocks all network methods.
Ownership
- Laravel admin panel owns
/api/v1/auth/*,/api/v1/auth/security/*,/api/v1/uploads,/api/v1/webhooks/revenuecat, and admin notificationsend/broadcast. - Shared mobile contract is under
/api/v1/app/*; Laravel serves compatibility mode and Go serves the implemented performance-mode resources. - Laravel remains canonical for migrations, token issuance, destructive operations, uploads, webhooks, and admin delivery.
Authentication
Protected calls use a Laravel Sanctum personal access token:
Authorization: Bearer <token>
Accept: application/json
Content-Type: application/jsonAbilities are checked per route. The Go service validates Laravel's token records; it is not a second identity provider.
Response/error handling
Successful responses use the Laravel-style success, message, and data envelope parsed into ApiResult models. Common statuses are 401 (invalid token), 403 (ability/role), 404 (missing route/resource), 422 (validation), 429 (rate limit), and 503 (dependency unavailable).
See API Routes and Backend Architecture.
