Interactive API Route Map
Searchable, filterable diagram of all 150+ routes, controllers, and middleware — current API, legacy v1, and web routes.
Base URLs
API versions
Two API versions coexist:
The current API also supports header-based versioning via the
API-Version request header. Controllers dynamically resolve service and transformer classes based on this header.
Authentication
Three authentication modes are used across endpoints:Rate limiting
API endpoints are throttled at 300 requests per minute per client (configured inapp/Http/Kernel.php).
CORS
CORS is handled by theTrustedOrigins middleware (not Laravel’s built-in CORS package):
- Exact match:
TRUSTED_ORIGINSenv var — comma-separated origins - Substring match:
WHITELISTED_ORIGINSenv var — comma-separated partial origins
Origin header doesn’t match either list.
Response format
All API responses are JSON. Errors follow this structure:exception and trace fields are only included when APP_DEBUG=true.HTTP caching
TheETag middleware (app/Http/Middleware/API/v1/ETag.php) adds ETag-based caching for GET requests. Returns 304 Not Modified when the client’s If-None-Match header matches.
Security headers
All responses include (viaSecureHeaders middleware):
X-Powered-By, Server.