Files
SingboxForPanel/api.md
CN-JS-HuiBai ef1f27c61d 添加文档
2026-04-14 23:54:37 +08:00

955 lines
31 KiB
Markdown

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 (`user` middleware)
- **Staff**: Requires staff privileges (`staff` middleware)
- **Admin**: Requires admin privileges (`admin` middleware)
- **Client**: Requires client authentication (`client` middleware)
- **Server**: Requires server authentication (`server` middleware)
---
## 🌐 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
1. **Admin Path**: The `{admin_path}` in V2 admin routes is dynamically generated based on the `secure_path` or `frontend_admin_path` configuration setting.
2. **Authentication Middleware**:
- `user`: Requires valid user authentication
- `admin`: Requires admin privileges
- `staff`: Requires staff privileges
- `client`: Requires client token authentication
- `server`: Requires server authentication
3. **Response Format**: Most endpoints return data in a standardized format:
```json
{
"data": [...], // Actual response data
"message": "Success message",
"status": true/false
}
```
4. **Error Handling**: Failed requests return appropriate HTTP status codes with error messages.
5. **Pagination**: Many list endpoints support pagination with `current` and `pageSize` parameters.
6. **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.