955 lines
31 KiB
Markdown
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. |