Files
SingboxForPanel/api.md
2026-04-15 15:40:38 +08:00

976 lines
32 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
- **Example Response**:
```json
{
"protocol": "vless",
"listen_ip": "0.0.0.0",
"server_port": 18443,
"network": "tcp",
"tls": 2,
"server_name": "git.example.com",
"dest": "www.cloudflare.com:443",
"private_key": "YOUR_REALITY_PRIVATE_KEY",
"short_id": "01234567",
"accept_proxy_protocol": true,
"base_config": {
"push_interval": 60,
"pull_interval": 60
}
}
```
- **Proxy Protocol Note**: Set `accept_proxy_protocol` to `true` only when this node is behind an L4 proxy or load balancer that really sends PROXY protocol headers. Direct client connections will fail if this is enabled without an upstream PROXY sender.
- **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.