group(function () { // Provider Discovery Endpoints Route::get('/providers', [ProviderController::class, 'index']); Route::get('/providers/{provider}', [ProviderController::class, 'show']); // Model Discovery Endpoints Route::get('/models', [ModelController::class, 'index']); Route::get('/models/{provider}/{model}', [ModelController::class, 'show']); // Credentials Management Endpoints Route::get('/credentials', [CredentialController::class, 'index']); Route::post('/credentials', [CredentialController::class, 'store']); Route::put('/credentials/{id}', [CredentialController::class, 'update']); Route::delete('/credentials/{id}', [CredentialController::class, 'destroy']); Route::post('/credentials/{id}/test', [CredentialController::class, 'test']); // Budget Management Endpoints Route::get('/budget', [BudgetController::class, 'index']); Route::get('/budget/history', [BudgetController::class, 'history']); // Pricing Endpoints Route::get('/pricing', [PricingController::class, 'index']); Route::get('/pricing/calculator', [PricingController::class, 'calculator']); Route::get('/pricing/compare', [PricingController::class, 'compare']); // Usage Statistics Endpoints Route::get('/usage/summary', [UsageController::class, 'summary']); Route::get('/usage/requests', [UsageController::class, 'requests']); Route::get('/usage/requests/{id}', [UsageController::class, 'show']); Route::get('/usage/charts', [UsageController::class, 'charts']); // Account Information Endpoints Route::get('/account', [AccountController::class, 'index']); Route::get('/account/activity', [AccountController::class, 'activity']); // Chat Completion Endpoint - for gateway_users with API-Key authentication Route::post('/chat/completions', [ChatCompletionController::class, 'create']) ->middleware(['checkbudget', 'checkratelimit']); });