{"success":true,"data":{"name":"RAPIDR Backend API","version":"2.0.0","environment":"production","implementation_status":"COMPLETE - All Phase 1-4 requirements implemented","architecture":{"authentication":"Supabase JWT with license-based authentication","middleware":"CORS, Authentication, Response standardization","error_handling":"Sentry integration with automatic exception capture","security":"Admin origin validation, JWT validation, HTTPS enforcement"},"endpoints":{"POST /api/v1/auth/passwords":"Generate password for license key","POST /api/v1/auth/license-status":"Check license status and activation state","POST /api/v1/auth/login":"Login with license key and password","POST /api/v1/auth/refresh":"Refresh access token using refresh token","POST /api/v1/auth/forgot-password":"Request password reset (user-initiated)","GET /api/me":"Verify authentication session","POST /api/logout":"Logout and clear session","POST /api/v1/admin/login":"Admin login","POST /api/v1/admin/logout":"Admin logout","GET /api/v1/admin/licenses":"Get all licenses","POST /api/v1/admin/licenses":"Create new license","PUT /api/v1/admin/licenses/{id}":"Update license","POST /api/v1/admin/licenses/{id}/reset-password":"Reset license password","GET /api/v1/admin/analytics":"Get analytics data","GET /api/v1/admin/templates":"Get all templates","POST /api/v1/admin/templates":"Create new template","PUT /api/v1/admin/templates/{id}":"Update template","DELETE /api/v1/admin/templates/{id}":"Delete template","POST /api/v1/admin/templates/{id}/upload":"Upload template files","GET /api/v1/templates/list":"Get user templates","GET /api/v1/templates/{id}":"Get template details","GET /api/v1/templates/{id}/preview":"Get template HTML content for preview","POST /api/v1/templates/change":"Change user template","GET /api/v1/telegram/config":"Get Telegram configuration","POST /api/v1/telegram/config":"Save Telegram configuration","DELETE /api/v1/telegram/config":"Delete Telegram configuration","POST /api/v1/telegram/test":"Test Telegram connection","POST /api/v1/telegram/webhook":"Telegram webhook for inline buttons (public)","POST /api/v1/urls":"Generate single URL (legacy path-based)","POST /api/v1/urls/token":"Generate stateless token URL with per-link config","POST /api/v1/urls/batch":"Generate multiple URLs (not implemented)","GET /api/v1/url-patterns":"Get URL patterns and encryption methods (not implemented)","GET /f/{token}":"Legacy one-time token redirect","GET /t/{token}":"Short token redirect (database-backed, via edge worker)","GET /api/v1/visit-report/stats":"Get traffic stats from Antibot API (group_by, from, to, granularity, decision)","GET /api/v1/visit-report/decisions":"Get recent visit decisions from Antibot API (limit, cursor)","GET /api/v1/visit-report/stream":"Server-Sent Events live feed from Antibot API","GET /r/{code}":"Return current relay URL for an 8-char code (called by resolver Azure app)","GET /api/v1/admin/relay-pool":"List all relays","POST /api/v1/admin/relay-pool":"Add a relay (host, provider)","PATCH /api/v1/admin/relay-pool/{id}":"Update relay (host, provider, is_active) — deactivating auto-clears affected users","DELETE /api/v1/admin/relay-pool/{id}":"Delete relay — auto-clears affected users","GET /api/v1/health":"Health check","GET /api/v1/antibot/status":"Antibot API connection status (admin only)","GET /api/v1/core":"Core API information"}},"timestamp":"2026-07-05T22:22:28+00:00"}