31 KiB
I made it with AI, but it seems great so far
Xboard API Documentation
This document provides a comprehensive overview of all API endpoints available in the Xboard system, organized by access level.
API Base URLs
- V1 API:
/api/v1/ - V2 API:
/api/v2/
Authentication
- Guest: No authentication required
- User: Requires user authentication (
usermiddleware) - Staff: Requires staff privileges (
staffmiddleware) - Admin: Requires admin privileges (
adminmiddleware) - Client: Requires client authentication (
clientmiddleware) - Server: Requires server authentication (
servermiddleware)
🌐 Guest APIs (Public - No Authentication Required)
Plans
- GET
/api/v1/guest/plan/fetch- Purpose: Get all available subscription plans for public viewing
- Returns: List of available plans with pricing, features, and limits
- Data: Plan ID, name, prices (monthly/quarterly/yearly), transfer limits, speed limits, device limits, capacity info
Configuration
- GET
/api/v1/guest/comm/config- Purpose: Get public configuration settings
- Returns: Public app configuration
- Data: ToS URL, email verification settings, invite requirements, reCAPTCHA settings, app description, app URL, logo
Payment Webhooks
- GET/POST
/api/v1/guest/payment/notify/{method}/{uuid}- Purpose: Handle payment notifications from payment providers
- Returns: Payment processing status
- Data: Payment confirmation and processing results
Telegram Webhooks
- POST
/api/v1/guest/telegram/webhook- Purpose: Handle Telegram bot webhook events
- Returns: Webhook processing status
- Data: Telegram bot event processing results
🔐 Authentication APIs (Passport)
V1 Authentication
-
POST
/api/v1/passport/auth/register- Purpose: User registration
- Returns: Registration success/failure
- Data: User account creation status
-
POST
/api/v1/passport/auth/login- Purpose: User login
- Returns: Authentication token and user info
- Data: JWT token, user details, session info
-
GET
/api/v1/passport/auth/token2Login- Purpose: Token-based login
- Returns: Login status
- Data: Authentication status
-
POST
/api/v1/passport/auth/forget- Purpose: Password reset request
- Returns: Reset email status
- Data: Password reset confirmation
-
POST
/api/v1/passport/auth/getQuickLoginUrl- Purpose: Generate quick login URL
- Returns: Quick login URL
- Data: Temporary login URL
-
POST
/api/v1/passport/auth/loginWithMailLink- Purpose: Login via email link
- Returns: Login status
- Data: Authentication confirmation
Communication
-
POST
/api/v1/passport/comm/sendEmailVerify- Purpose: Send email verification
- Returns: Email sending status
- Data: Verification email delivery confirmation
-
POST
/api/v1/passport/comm/pv- Purpose: Page view tracking
- Returns: Tracking status
- Data: Analytics tracking confirmation
V2 Authentication
Same endpoints as V1 but under /api/v2/passport/ prefix.
👤 User APIs (Authenticated Users)
User Management
-
GET
/api/v1/user/info- Purpose: Get current user information
- Returns: User profile data
- Data: Email, transfer limits, login history, subscription status, balance, commission info, telegram ID, avatar URL
-
POST
/api/v1/user/update- Purpose: Update user preferences
- Returns: Update status
- Data: Updated user preferences (reminders, etc.)
-
POST
/api/v1/user/changePassword- Purpose: Change user password
- Returns: Password change status
- Data: Password update confirmation
-
GET
/api/v1/user/resetSecurity- Purpose: Reset security credentials (UUID, token)
- Returns: New subscribe URL
- Data: New subscription URL with updated token
-
GET
/api/v1/user/checkLogin- Purpose: Check login status
- Returns: Login status and permissions
- Data: Login status, admin privileges
-
GET
/api/v1/user/getStat- Purpose: Get user statistics
- Returns: User statistics summary
- Data: Pending orders count, open tickets count, invited users count
-
GET
/api/v1/user/getSubscribe- Purpose: Get subscription information
- Returns: Subscription details and URL
- Data: Plan details, subscription URL, usage stats, reset schedule
-
POST
/api/v1/user/transfer- Purpose: Transfer commission to balance
- Returns: Transfer status
- Data: Transfer confirmation and updated balances
-
POST
/api/v1/user/getQuickLoginUrl- Purpose: Generate quick login URL
- Returns: Quick login URL
- Data: Temporary login URL
Session Management
-
GET
/api/v1/user/getActiveSession- Purpose: Get active sessions
- Returns: List of active sessions
- Data: Session details, login times, IP addresses
-
POST
/api/v1/user/removeActiveSession- Purpose: Remove specific session
- Returns: Session removal status
- Data: Session termination confirmation
Orders & Billing
-
POST
/api/v1/user/order/save- Purpose: Create new order
- Returns: Order creation status
- Data: Order details, payment information
-
POST
/api/v1/user/order/checkout- Purpose: Checkout order
- Returns: Payment processing info
- Data: Payment URL, order status
-
GET
/api/v1/user/order/check- Purpose: Check order status
- Returns: Order status
- Data: Order processing status
-
GET
/api/v1/user/order/detail- Purpose: Get order details
- Returns: Detailed order information
- Data: Order items, pricing, status, payment info
-
GET
/api/v1/user/order/fetch- Purpose: Get user's orders
- Returns: List of user orders
- Data: Order history with status and details
-
GET
/api/v1/user/order/getPaymentMethod- Purpose: Get available payment methods
- Returns: List of payment options
- Data: Payment providers, fees, availability
-
POST
/api/v1/user/order/cancel- Purpose: Cancel order
- Returns: Cancellation status
- Data: Order cancellation confirmation
Plans
- GET
/api/v1/user/plan/fetch- Purpose: Get available plans for authenticated user
- Returns: List of plans with user-specific availability
- Data: Plans with pricing, user eligibility, renewal options
Invitations
-
GET
/api/v1/user/invite/save- Purpose: Generate invitation code
- Returns: Invitation code
- Data: Invitation code and sharing info
-
GET
/api/v1/user/invite/fetch- Purpose: Get invitation statistics
- Returns: Invitation data
- Data: Invitation codes, usage stats, commissions
-
GET
/api/v1/user/invite/details- Purpose: Get detailed invitation information
- Returns: Invitation details
- Data: Detailed invitation statistics and earnings
Support & Communication
-
GET
/api/v1/user/notice/fetch- Purpose: Get user notices
- Returns: List of notices
- Data: System announcements, updates, alerts
-
POST
/api/v1/user/ticket/save- Purpose: Create support ticket
- Returns: Ticket creation status
- Data: Ticket ID and details
-
GET
/api/v1/user/ticket/fetch- Purpose: Get user's tickets
- Returns: List of support tickets
- Data: Ticket history, status, responses
-
POST
/api/v1/user/ticket/reply- Purpose: Reply to ticket
- Returns: Reply status
- Data: Reply confirmation
-
POST
/api/v1/user/ticket/close- Purpose: Close ticket
- Returns: Closure status
- Data: Ticket closure confirmation
-
POST
/api/v1/user/ticket/withdraw- Purpose: Withdraw ticket
- Returns: Withdrawal status
- Data: Ticket withdrawal confirmation
Servers
- GET
/api/v1/user/server/fetch- Purpose: Get available servers
- Returns: List of servers user can access
- Data: Server details, locations, status, protocols
Coupons
- POST
/api/v1/user/coupon/check- Purpose: Validate coupon code
- Returns: Coupon validity and discount info
- Data: Coupon details, discount amount, validity
Telegram Integration
- GET
/api/v1/user/telegram/getBotInfo- Purpose: Get Telegram bot information
- Returns: Bot connection info
- Data: Bot details, connection status
Configuration
-
GET
/api/v1/user/comm/config- Purpose: Get user-specific configuration
- Returns: User configuration settings
- Data: User preferences, feature availability
-
POST
/api/v1/user/comm/getStripePublicKey- Purpose: Get Stripe public key for payments
- Returns: Stripe configuration
- Data: Stripe public key for payment processing
Knowledge Base
-
GET
/api/v1/user/knowledge/fetch- Purpose: Get knowledge base articles
- Returns: List of help articles
- Data: Articles, categories, content
-
GET
/api/v1/user/knowledge/getCategory- Purpose: Get knowledge base categories
- Returns: List of categories
- Data: Category structure and organization
Statistics
- GET
/api/v1/user/stat/getTrafficLog- Purpose: Get traffic usage logs
- Returns: Traffic usage history
- Data: Traffic logs, usage patterns, timestamps
V2 User APIs
-
GET
/api/v2/user/resetSecurity- Purpose: Reset security credentials
- Returns: New security credentials
- Data: Updated security tokens
-
GET
/api/v2/user/info- Purpose: Get user information (V2)
- Returns: User profile data
- Data: Enhanced user profile information
📱 Client APIs (Client Authentication)
Subscription
- GET
/api/v1/client/subscribe- Purpose: Get subscription configuration
- Returns: Client configuration for VPN apps
- Data: Server configurations, protocols, connection details
App Configuration
-
GET
/api/v1/client/app/getConfig- Purpose: Get app configuration
- Returns: App configuration settings
- Data: App settings, features, URLs
-
GET
/api/v1/client/app/getVersion- Purpose: Get app version information
- Returns: Version details
- Data: Current version, update availability
🖥️ Server APIs (Server Authentication)
UniProxy
-
GET
/api/v1/server/UniProxy/config- Purpose: Get server configuration
- Returns: Server configuration
- Data: Server settings and parameters
-
GET
/api/v1/server/UniProxy/user- Purpose: Get user data for server
- Returns: User information for server
- Data: User access rights, quotas, settings
-
POST
/api/v1/server/UniProxy/push- Purpose: Push data to server
- Returns: Push status
- Data: Data synchronization confirmation
-
POST
/api/v1/server/UniProxy/alive- Purpose: Server heartbeat
- Returns: Alive status
- Data: Server health status
-
GET
/api/v1/server/UniProxy/alivelist- Purpose: Get alive servers list
- Returns: List of active servers
- Data: Server status and availability
-
POST
/api/v1/server/UniProxy/status- Purpose: Update server status
- Returns: Status update confirmation
- Data: Server status update
Shadowsocks Tidalab
-
GET
/api/v1/server/ShadowsocksTidalab/user- Purpose: Get user data for Shadowsocks
- Returns: Shadowsocks user configuration
- Data: Shadowsocks-specific user settings
-
POST
/api/v1/server/ShadowsocksTidalab/submit- Purpose: Submit Shadowsocks data
- Returns: Submission status
- Data: Data submission confirmation
Trojan Tidalab
-
GET
/api/v1/server/TrojanTidalab/config- Purpose: Get Trojan server configuration
- Returns: Trojan configuration
- Data: Trojan server settings
-
GET
/api/v1/server/TrojanTidalab/user- Purpose: Get user data for Trojan
- Returns: Trojan user configuration
- Data: Trojan-specific user settings
-
POST
/api/v1/server/TrojanTidalab/submit- Purpose: Submit Trojan data
- Returns: Submission status
- Data: Data submission confirmation
👨💼 Staff APIs (Staff Authentication)
Note: Staff functionality exists but appears to be integrated into admin routes rather than having dedicated staff routes. Staff users have is_staff flag and can access certain admin functions with limited permissions.
User Management (Staff Level)
- Staff can manage non-admin, non-staff users
- Limited user update capabilities
- Send emails to users
- Ban users
- Access user information
🔧 Admin APIs (Administrator Authentication)
Configuration Management
-
GET
/api/v2/{admin_path}/config/fetch- Purpose: Get system configuration
- Returns: Complete system settings
- Data: All configuration parameters
-
POST
/api/v2/{admin_path}/config/save- Purpose: Save system configuration
- Returns: Save status
- Data: Configuration update confirmation
-
GET
/api/v2/{admin_path}/config/getEmailTemplate- Purpose: Get email templates
- Returns: Email template configurations
- Data: Email templates and settings
-
GET
/api/v2/{admin_path}/config/getThemeTemplate- Purpose: Get theme templates
- Returns: Theme configurations
- Data: Available themes and settings
-
POST
/api/v2/{admin_path}/config/setTelegramWebhook- Purpose: Configure Telegram webhook
- Returns: Webhook setup status
- Data: Telegram integration status
-
POST
/api/v2/{admin_path}/config/testSendMail- Purpose: Test email configuration
- Returns: Email test results
- Data: Email sending test status
Plan Management
-
GET
/api/v2/{admin_path}/plan/fetch- Purpose: Get all plans (admin view)
- Returns: Complete plan list with admin details
- Data: All plans with user counts, revenue, admin settings
-
POST
/api/v2/{admin_path}/plan/save- Purpose: Create/update plan
- Returns: Plan save status
- Data: Plan creation/update confirmation
-
POST
/api/v2/{admin_path}/plan/drop- Purpose: Delete plan
- Returns: Deletion status
- Data: Plan deletion confirmation
-
POST
/api/v2/{admin_path}/plan/update- Purpose: Update plan details
- Returns: Update status
- Data: Plan update confirmation
-
POST
/api/v2/{admin_path}/plan/sort- Purpose: Reorder plans
- Returns: Sort status
- Data: Plan ordering confirmation
Server Management
Server Groups
-
GET
/api/v2/{admin_path}/server/group/fetch- Purpose: Get server groups
- Returns: List of server groups
- Data: Group configurations and permissions
-
POST
/api/v2/{admin_path}/server/group/save- Purpose: Create/update server group
- Returns: Group save status
- Data: Group creation/update confirmation
-
POST
/api/v2/{admin_path}/server/group/drop- Purpose: Delete server group
- Returns: Deletion status
- Data: Group deletion confirmation
Server Routes
-
GET
/api/v2/{admin_path}/server/route/fetch- Purpose: Get server routes
- Returns: List of server routes
- Data: Route configurations and rules
-
POST
/api/v2/{admin_path}/server/route/save- Purpose: Create/update server route
- Returns: Route save status
- Data: Route creation/update confirmation
-
POST
/api/v2/{admin_path}/server/route/drop- Purpose: Delete server route
- Returns: Deletion status
- Data: Route deletion confirmation
Server Management
-
GET
/api/v2/{admin_path}/server/manage/getNodes- Purpose: Get server nodes
- Returns: List of server nodes
- Data: Node details, status, configuration
-
POST
/api/v2/{admin_path}/server/manage/update- Purpose: Update server
- Returns: Update status
- Data: Server update confirmation
-
POST
/api/v2/{admin_path}/server/manage/save- Purpose: Create server
- Returns: Creation status
- Data: Server creation confirmation
-
POST
/api/v2/{admin_path}/server/manage/drop- Purpose: Delete server
- Returns: Deletion status
- Data: Server deletion confirmation
-
POST
/api/v2/{admin_path}/server/manage/copy- Purpose: Copy server configuration
- Returns: Copy status
- Data: Server copy confirmation
-
POST
/api/v2/{admin_path}/server/manage/sort- Purpose: Reorder servers
- Returns: Sort status
- Data: Server ordering confirmation
Order Management
-
GET/POST
/api/v2/{admin_path}/order/fetch- Purpose: Get orders with filtering
- Returns: Paginated order list
- Data: Order details, user info, payment status
-
POST
/api/v2/{admin_path}/order/update- Purpose: Update order
- Returns: Update status
- Data: Order update confirmation
-
POST
/api/v2/{admin_path}/order/assign- Purpose: Assign order to plan
- Returns: Assignment status
- Data: Order assignment confirmation
-
POST
/api/v2/{admin_path}/order/paid- Purpose: Mark order as paid
- Returns: Payment status
- Data: Payment confirmation
-
POST
/api/v2/{admin_path}/order/cancel- Purpose: Cancel order
- Returns: Cancellation status
- Data: Order cancellation confirmation
-
POST
/api/v2/{admin_path}/order/detail- Purpose: Get order details
- Returns: Detailed order information
- Data: Complete order information
User Management
-
GET/POST
/api/v2/{admin_path}/user/fetch- Purpose: Get users with filtering and pagination
- Returns: Paginated user list
- Data: User details, subscription info, usage stats
-
POST
/api/v2/{admin_path}/user/update- Purpose: Update user
- Returns: Update status
- Data: User update confirmation
-
GET
/api/v2/{admin_path}/user/getUserInfoById- Purpose: Get specific user info
- Returns: User details
- Data: Complete user information
-
POST
/api/v2/{admin_path}/user/generate- Purpose: Generate user account
- Returns: Generation status
- Data: New user account details
-
POST
/api/v2/{admin_path}/user/dumpCSV- Purpose: Export users to CSV
- Returns: CSV export
- Data: User data in CSV format
-
POST
/api/v2/{admin_path}/user/sendMail- Purpose: Send email to users
- Returns: Email sending status
- Data: Email delivery confirmation
-
POST
/api/v2/{admin_path}/user/ban- Purpose: Ban users
- Returns: Ban status
- Data: User ban confirmation
-
POST
/api/v2/{admin_path}/user/resetSecret- Purpose: Reset user secrets
- Returns: Reset status
- Data: Secret reset confirmation
-
POST
/api/v2/{admin_path}/user/setInviteUser- Purpose: Set invite relationships
- Returns: Setting status
- Data: Invite relationship confirmation
-
POST
/api/v2/{admin_path}/user/destroy- Purpose: Delete user
- Returns: Deletion status
- Data: User deletion confirmation
Statistics & Analytics
-
GET
/api/v2/{admin_path}/stat/getOverride- Purpose: Get system overview
- Returns: System statistics overview
- Data: Key metrics, revenue, user counts
-
GET
/api/v2/{admin_path}/stat/getStats- Purpose: Get detailed statistics
- Returns: Comprehensive statistics
- Data: Revenue, usage, growth metrics
-
GET
/api/v2/{admin_path}/stat/getServerLastRank- Purpose: Get server performance ranking
- Returns: Server ranking data
- Data: Server performance metrics
-
GET
/api/v2/{admin_path}/stat/getServerYesterdayRank- Purpose: Get yesterday's server ranking
- Returns: Historical server data
- Data: Previous day server metrics
-
GET
/api/v2/{admin_path}/stat/getOrder- Purpose: Get order statistics
- Returns: Order analytics
- Data: Order trends, revenue data
-
GET/POST
/api/v2/{admin_path}/stat/getStatUser- Purpose: Get user statistics
- Returns: User analytics
- Data: User growth, activity metrics
-
GET
/api/v2/{admin_path}/stat/getRanking- Purpose: Get ranking data
- Returns: Various rankings
- Data: User, server, revenue rankings
-
GET
/api/v2/{admin_path}/stat/getStatRecord- Purpose: Get statistical records
- Returns: Historical statistics
- Data: Historical data records
-
GET
/api/v2/{admin_path}/stat/getTrafficRank- Purpose: Get traffic ranking
- Returns: Traffic usage rankings
- Data: Traffic usage by users/servers
Notice Management
-
GET
/api/v2/{admin_path}/notice/fetch- Purpose: Get system notices
- Returns: List of notices
- Data: Notice content, visibility, scheduling
-
POST
/api/v2/{admin_path}/notice/save- Purpose: Create notice
- Returns: Creation status
- Data: Notice creation confirmation
-
POST
/api/v2/{admin_path}/notice/update- Purpose: Update notice
- Returns: Update status
- Data: Notice update confirmation
-
POST
/api/v2/{admin_path}/notice/drop- Purpose: Delete notice
- Returns: Deletion status
- Data: Notice deletion confirmation
-
POST
/api/v2/{admin_path}/notice/show- Purpose: Toggle notice visibility
- Returns: Visibility status
- Data: Notice visibility confirmation
-
POST
/api/v2/{admin_path}/notice/sort- Purpose: Reorder notices
- Returns: Sort status
- Data: Notice ordering confirmation
Ticket Management
-
GET/POST
/api/v2/{admin_path}/ticket/fetch- Purpose: Get support tickets
- Returns: Paginated ticket list
- Data: Ticket details, user info, status
-
POST
/api/v2/{admin_path}/ticket/reply- Purpose: Reply to ticket
- Returns: Reply status
- Data: Ticket reply confirmation
-
POST
/api/v2/{admin_path}/ticket/close- Purpose: Close ticket
- Returns: Closure status
- Data: Ticket closure confirmation
Coupon Management
-
GET/POST
/api/v2/{admin_path}/coupon/fetch- Purpose: Get coupons
- Returns: List of coupons
- Data: Coupon details, usage statistics
-
POST
/api/v2/{admin_path}/coupon/generate- Purpose: Generate coupons
- Returns: Generation status
- Data: New coupon codes
-
POST
/api/v2/{admin_path}/coupon/drop- Purpose: Delete coupon
- Returns: Deletion status
- Data: Coupon deletion confirmation
-
POST
/api/v2/{admin_path}/coupon/show- Purpose: Toggle coupon visibility
- Returns: Visibility status
- Data: Coupon visibility confirmation
-
POST
/api/v2/{admin_path}/coupon/update- Purpose: Update coupon
- Returns: Update status
- Data: Coupon update confirmation
Knowledge Base Management
-
GET
/api/v2/{admin_path}/knowledge/fetch- Purpose: Get knowledge articles
- Returns: List of articles
- Data: Article content, categories, visibility
-
GET
/api/v2/{admin_path}/knowledge/getCategory- Purpose: Get knowledge categories
- Returns: Category structure
- Data: Category hierarchy and organization
-
POST
/api/v2/{admin_path}/knowledge/save- Purpose: Create/update article
- Returns: Save status
- Data: Article save confirmation
-
POST
/api/v2/{admin_path}/knowledge/show- Purpose: Toggle article visibility
- Returns: Visibility status
- Data: Article visibility confirmation
-
POST
/api/v2/{admin_path}/knowledge/drop- Purpose: Delete article
- Returns: Deletion status
- Data: Article deletion confirmation
-
POST
/api/v2/{admin_path}/knowledge/sort- Purpose: Reorder articles
- Returns: Sort status
- Data: Article ordering confirmation
Payment Management
-
GET
/api/v2/{admin_path}/payment/fetch- Purpose: Get payment methods
- Returns: List of payment providers
- Data: Payment method configurations
-
GET
/api/v2/{admin_path}/payment/getPaymentMethods- Purpose: Get available payment methods
- Returns: Payment method list
- Data: Available payment options
-
POST
/api/v2/{admin_path}/payment/getPaymentForm- Purpose: Get payment form configuration
- Returns: Form configuration
- Data: Payment form settings
-
POST
/api/v2/{admin_path}/payment/save- Purpose: Save payment method
- Returns: Save status
- Data: Payment method save confirmation
-
POST
/api/v2/{admin_path}/payment/drop- Purpose: Delete payment method
- Returns: Deletion status
- Data: Payment method deletion confirmation
-
POST
/api/v2/{admin_path}/payment/show- Purpose: Toggle payment method visibility
- Returns: Visibility status
- Data: Payment method visibility confirmation
-
POST
/api/v2/{admin_path}/payment/sort- Purpose: Reorder payment methods
- Returns: Sort status
- Data: Payment method ordering confirmation
System Management
-
GET
/api/v2/{admin_path}/system/getSystemStatus- Purpose: Get system status
- Returns: System health information
- Data: Server status, performance metrics
-
GET
/api/v2/{admin_path}/system/getQueueStats- Purpose: Get queue statistics
- Returns: Queue performance data
- Data: Queue metrics, job statistics
-
GET
/api/v2/{admin_path}/system/getQueueWorkload- Purpose: Get queue workload
- Returns: Current queue workload
- Data: Queue load and processing times
-
GET
/api/v2/{admin_path}/system/getQueueMasters- Purpose: Get queue masters (Horizon)
- Returns: Queue master status
- Data: Horizon supervisor information
-
GET
/api/v2/{admin_path}/system/getSystemLog- Purpose: Get system logs
- Returns: System log entries
- Data: Application logs, errors, events
-
GET
/api/v2/{admin_path}/system/getHorizonFailedJobs- Purpose: Get failed jobs
- Returns: Failed job list
- Data: Failed job details and errors
-
POST
/api/v2/{admin_path}/system/clearSystemLog- Purpose: Clear system logs
- Returns: Clear status
- Data: Log clearing confirmation
-
GET
/api/v2/{admin_path}/system/getLogClearStats- Purpose: Get log clearing statistics
- Returns: Log management stats
- Data: Log storage and clearing metrics
Theme Management
-
GET
/api/v2/{admin_path}/theme/getThemes- Purpose: Get available themes
- Returns: Theme list
- Data: Theme details, configurations
-
POST
/api/v2/{admin_path}/theme/upload- Purpose: Upload theme
- Returns: Upload status
- Data: Theme upload confirmation
-
POST
/api/v2/{admin_path}/theme/delete- Purpose: Delete theme
- Returns: Deletion status
- Data: Theme deletion confirmation
-
POST
/api/v2/{admin_path}/theme/saveThemeConfig- Purpose: Save theme configuration
- Returns: Save status
- Data: Theme configuration save confirmation
-
POST
/api/v2/{admin_path}/theme/getThemeConfig- Purpose: Get theme configuration
- Returns: Theme configuration
- Data: Current theme settings
Plugin Management
-
GET
/api/v2/{admin_path}/plugin/getPlugins- Purpose: Get installed plugins
- Returns: Plugin list
- Data: Plugin details, status, configuration
-
POST
/api/v2/{admin_path}/plugin/upload- Purpose: Upload plugin
- Returns: Upload status
- Data: Plugin upload confirmation
-
POST
/api/v2/{admin_path}/plugin/delete- Purpose: Delete plugin
- Returns: Deletion status
- Data: Plugin deletion confirmation
-
POST
/api/v2/{admin_path}/plugin/install- Purpose: Install plugin
- Returns: Installation status
- Data: Plugin installation confirmation
-
POST
/api/v2/{admin_path}/plugin/uninstall- Purpose: Uninstall plugin
- Returns: Uninstallation status
- Data: Plugin uninstallation confirmation
-
POST
/api/v2/{admin_path}/plugin/enable- Purpose: Enable plugin
- Returns: Enable status
- Data: Plugin enable confirmation
-
POST
/api/v2/{admin_path}/plugin/disable- Purpose: Disable plugin
- Returns: Disable status
- Data: Plugin disable confirmation
-
GET
/api/v2/{admin_path}/plugin/config- Purpose: Get plugin configuration
- Returns: Plugin configuration
- Data: Plugin settings
-
POST
/api/v2/{admin_path}/plugin/config- Purpose: Update plugin configuration
- Returns: Update status
- Data: Plugin configuration update confirmation
Traffic Reset Management
-
GET
/api/v2/{admin_path}/traffic-reset/logs- Purpose: Get traffic reset logs
- Returns: Reset log entries
- Data: Traffic reset history and details
-
GET
/api/v2/{admin_path}/traffic-reset/stats- Purpose: Get traffic reset statistics
- Returns: Reset statistics
- Data: Traffic reset metrics and trends
-
GET
/api/v2/{admin_path}/traffic-reset/user/{userId}/history- Purpose: Get user traffic reset history
- Returns: User-specific reset history
- Data: Individual user reset records
-
POST
/api/v2/{admin_path}/traffic-reset/reset-user- Purpose: Reset user traffic
- Returns: Reset status
- Data: User traffic reset confirmation
📝 Notes
-
Admin Path: The
{admin_path}in V2 admin routes is dynamically generated based on thesecure_pathorfrontend_admin_pathconfiguration setting. -
Authentication Middleware:
user: Requires valid user authenticationadmin: Requires admin privilegesstaff: Requires staff privilegesclient: Requires client token authenticationserver: Requires server authentication
-
Response Format: Most endpoints return data in a standardized format:
{ "data": [...], // Actual response data "message": "Success message", "status": true/false } -
Error Handling: Failed requests return appropriate HTTP status codes with error messages.
-
Pagination: Many list endpoints support pagination with
currentandpageSizeparameters. -
Filtering: Admin endpoints often support filtering and sorting parameters.
This documentation provides a comprehensive overview of all available API endpoints in the Xboard system. Each endpoint serves specific functionality within the VPN service management platform.