2026-01-26 20:57:08 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
use Illuminate\Support\Facades\Route;
|
2026-03-03 17:37:47 +00:00
|
|
|
use Core\Website\Api\Controllers\DocsController;
|
2026-01-26 20:57:08 +00:00
|
|
|
|
|
|
|
|
// Documentation landing
|
|
|
|
|
Route::get('/', [DocsController::class, 'index'])->name('api.docs');
|
|
|
|
|
|
|
|
|
|
// Guides
|
|
|
|
|
Route::get('/guides', [DocsController::class, 'guides'])->name('api.guides');
|
|
|
|
|
Route::get('/guides/quickstart', [DocsController::class, 'quickstart'])->name('api.guides.quickstart');
|
|
|
|
|
Route::get('/guides/authentication', [DocsController::class, 'authentication'])->name('api.guides.authentication');
|
|
|
|
|
Route::get('/guides/qrcodes', [DocsController::class, 'qrcodes'])->name('api.guides.qrcodes');
|
|
|
|
|
Route::get('/guides/webhooks', [DocsController::class, 'webhooks'])->name('api.guides.webhooks');
|
|
|
|
|
Route::get('/guides/errors', [DocsController::class, 'errors'])->name('api.guides.errors');
|
|
|
|
|
|
|
|
|
|
// API Reference
|
|
|
|
|
Route::get('/reference', [DocsController::class, 'reference'])->name('api.reference');
|
|
|
|
|
|
|
|
|
|
// Swagger UI
|
|
|
|
|
Route::get('/swagger', [DocsController::class, 'swagger'])->name('api.swagger');
|
|
|
|
|
|
|
|
|
|
// Scalar (modern API reference with sidebar)
|
|
|
|
|
Route::get('/scalar', [DocsController::class, 'scalar'])->name('api.scalar');
|
|
|
|
|
|
|
|
|
|
// ReDoc (three-panel API reference)
|
|
|
|
|
Route::get('/redoc', [DocsController::class, 'redoc'])->name('api.redoc');
|
|
|
|
|
|
|
|
|
|
// OpenAPI spec (rate limited - expensive to generate)
|
|
|
|
|
Route::get('/openapi.json', [DocsController::class, 'openapi'])
|
|
|
|
|
->middleware('throttle:60,1')
|
|
|
|
|
->name('api.openapi.json');
|