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
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
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
Knowledge Base
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
📱 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
🖥️ 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
Trojan Tidalab
-
GET /api/v1/server/TrojanTidalab/config
- Purpose: Get Trojan server configuration
- Returns: Trojan configuration
- Data: Trojan server settings
-
GET /api/v1/server/TrojanTidalab/user
- Purpose: Get user data for Trojan
- Returns: Trojan user configuration
- Data: Trojan-specific user settings
-
POST /api/v1/server/TrojanTidalab/submit
- Purpose: Submit Trojan data
- Returns: Submission status
- Data: Data submission confirmation
👨💼 Staff APIs (Staff Authentication)
Note: Staff functionality exists but appears to be integrated into admin routes rather than having dedicated staff routes. Staff users have is_staff flag and can access certain admin functions with limited permissions.
User Management (Staff Level)
- Staff can manage non-admin, non-staff users
- Limited user update capabilities
- Send emails to users
- Ban users
- Access user information
🔧 Admin APIs (Administrator Authentication)
Configuration Management
-
GET /api/v2/{admin_path}/config/fetch
- Purpose: Get system configuration
- Returns: Complete system settings
- Data: All configuration parameters
-
POST /api/v2/{admin_path}/config/save
- Purpose: Save system configuration
- Returns: Save status
- Data: Configuration update confirmation
-
GET /api/v2/{admin_path}/config/getEmailTemplate
- Purpose: Get email templates
- Returns: Email template configurations
- Data: Email templates and settings
-
GET /api/v2/{admin_path}/config/getThemeTemplate
- Purpose: Get theme templates
- Returns: Theme configurations
- Data: Available themes and settings
-
POST /api/v2/{admin_path}/config/setTelegramWebhook
- Purpose: Configure Telegram webhook
- Returns: Webhook setup status
- Data: Telegram integration status
-
POST /api/v2/{admin_path}/config/testSendMail
- Purpose: Test email configuration
- Returns: Email test results
- Data: Email sending test status
Plan Management
-
GET /api/v2/{admin_path}/plan/fetch
- Purpose: Get all plans (admin view)
- Returns: Complete plan list with admin details
- Data: All plans with user counts, revenue, admin settings
-
POST /api/v2/{admin_path}/plan/save
- Purpose: Create/update plan
- Returns: Plan save status
- Data: Plan creation/update confirmation
-
POST /api/v2/{admin_path}/plan/drop
- Purpose: Delete plan
- Returns: Deletion status
- Data: Plan deletion confirmation
-
POST /api/v2/{admin_path}/plan/update
- Purpose: Update plan details
- Returns: Update status
- Data: Plan update confirmation
-
POST /api/v2/{admin_path}/plan/sort
- Purpose: Reorder plans
- Returns: Sort status
- Data: Plan ordering confirmation
Server Management
Server Groups
-
GET /api/v2/{admin_path}/server/group/fetch
- Purpose: Get server groups
- Returns: List of server groups
- Data: Group configurations and permissions
-
POST /api/v2/{admin_path}/server/group/save
- Purpose: Create/update server group
- Returns: Group save status
- Data: Group creation/update confirmation
-
POST /api/v2/{admin_path}/server/group/drop
- Purpose: Delete server group
- Returns: Deletion status
- Data: Group deletion confirmation
Server Routes
-
GET /api/v2/{admin_path}/server/route/fetch
- Purpose: Get server routes
- Returns: List of server routes
- Data: Route configurations and rules
-
POST /api/v2/{admin_path}/server/route/save
- Purpose: Create/update server route
- Returns: Route save status
- Data: Route creation/update confirmation
-
POST /api/v2/{admin_path}/server/route/drop
- Purpose: Delete server route
- Returns: Deletion status
- Data: Route deletion confirmation
Server Management
-
GET /api/v2/{admin_path}/server/manage/getNodes
- Purpose: Get server nodes
- Returns: List of server nodes
- Data: Node details, status, configuration
-
POST /api/v2/{admin_path}/server/manage/update
- Purpose: Update server
- Returns: Update status
- Data: Server update confirmation
-
POST /api/v2/{admin_path}/server/manage/save
- Purpose: Create server
- Returns: Creation status
- Data: Server creation confirmation
-
POST /api/v2/{admin_path}/server/manage/drop
- Purpose: Delete server
- Returns: Deletion status
- Data: Server deletion confirmation
-
POST /api/v2/{admin_path}/server/manage/copy
- Purpose: Copy server configuration
- Returns: Copy status
- Data: Server copy confirmation
-
POST /api/v2/{admin_path}/server/manage/sort
- Purpose: Reorder servers
- Returns: Sort status
- Data: Server ordering confirmation
Order Management
-
GET/POST /api/v2/{admin_path}/order/fetch
- Purpose: Get orders with filtering
- Returns: Paginated order list
- Data: Order details, user info, payment status
-
POST /api/v2/{admin_path}/order/update
- Purpose: Update order
- Returns: Update status
- Data: Order update confirmation
-
POST /api/v2/{admin_path}/order/assign
- Purpose: Assign order to plan
- Returns: Assignment status
- Data: Order assignment confirmation
-
POST /api/v2/{admin_path}/order/paid
- Purpose: Mark order as paid
- Returns: Payment status
- Data: Payment confirmation
-
POST /api/v2/{admin_path}/order/cancel
- Purpose: Cancel order
- Returns: Cancellation status
- Data: Order cancellation confirmation
-
POST /api/v2/{admin_path}/order/detail
- Purpose: Get order details
- Returns: Detailed order information
- Data: Complete order information
User Management
-
GET/POST /api/v2/{admin_path}/user/fetch
- Purpose: Get users with filtering and pagination
- Returns: Paginated user list
- Data: User details, subscription info, usage stats
-
POST /api/v2/{admin_path}/user/update
- Purpose: Update user
- Returns: Update status
- Data: User update confirmation
-
GET /api/v2/{admin_path}/user/getUserInfoById
- Purpose: Get specific user info
- Returns: User details
- Data: Complete user information
-
POST /api/v2/{admin_path}/user/generate
- Purpose: Generate user account
- Returns: Generation status
- Data: New user account details
-
POST /api/v2/{admin_path}/user/dumpCSV
- Purpose: Export users to CSV
- Returns: CSV export
- Data: User data in CSV format
-
POST /api/v2/{admin_path}/user/sendMail
- Purpose: Send email to users
- Returns: Email sending status
- Data: Email delivery confirmation
-
POST /api/v2/{admin_path}/user/ban
- Purpose: Ban users
- Returns: Ban status
- Data: User ban confirmation
-
POST /api/v2/{admin_path}/user/resetSecret
- Purpose: Reset user secrets
- Returns: Reset status
- Data: Secret reset confirmation
-
POST /api/v2/{admin_path}/user/setInviteUser
- Purpose: Set invite relationships
- Returns: Setting status
- Data: Invite relationship confirmation
-
POST /api/v2/{admin_path}/user/destroy
- Purpose: Delete user
- Returns: Deletion status
- Data: User deletion confirmation
Statistics & Analytics
-
GET /api/v2/{admin_path}/stat/getOverride
- Purpose: Get system overview
- Returns: System statistics overview
- Data: Key metrics, revenue, user counts
-
GET /api/v2/{admin_path}/stat/getStats
- Purpose: Get detailed statistics
- Returns: Comprehensive statistics
- Data: Revenue, usage, growth metrics
-
GET /api/v2/{admin_path}/stat/getServerLastRank
- Purpose: Get server performance ranking
- Returns: Server ranking data
- Data: Server performance metrics
-
GET /api/v2/{admin_path}/stat/getServerYesterdayRank
- Purpose: Get yesterday's server ranking
- Returns: Historical server data
- Data: Previous day server metrics
-
GET /api/v2/{admin_path}/stat/getOrder
- Purpose: Get order statistics
- Returns: Order analytics
- Data: Order trends, revenue data
-
GET/POST /api/v2/{admin_path}/stat/getStatUser
- Purpose: Get user statistics
- Returns: User analytics
- Data: User growth, activity metrics
-
GET /api/v2/{admin_path}/stat/getRanking
- Purpose: Get ranking data
- Returns: Various rankings
- Data: User, server, revenue rankings
-
GET /api/v2/{admin_path}/stat/getStatRecord
- Purpose: Get statistical records
- Returns: Historical statistics
- Data: Historical data records
-
GET /api/v2/{admin_path}/stat/getTrafficRank
- Purpose: Get traffic ranking
- Returns: Traffic usage rankings
- Data: Traffic usage by users/servers
Notice Management
-
GET /api/v2/{admin_path}/notice/fetch
- Purpose: Get system notices
- Returns: List of notices
- Data: Notice content, visibility, scheduling
-
POST /api/v2/{admin_path}/notice/save
- Purpose: Create notice
- Returns: Creation status
- Data: Notice creation confirmation
-
POST /api/v2/{admin_path}/notice/update
- Purpose: Update notice
- Returns: Update status
- Data: Notice update confirmation
-
POST /api/v2/{admin_path}/notice/drop
- Purpose: Delete notice
- Returns: Deletion status
- Data: Notice deletion confirmation
-
POST /api/v2/{admin_path}/notice/show
- Purpose: Toggle notice visibility
- Returns: Visibility status
- Data: Notice visibility confirmation
-
POST /api/v2/{admin_path}/notice/sort
- Purpose: Reorder notices
- Returns: Sort status
- Data: Notice ordering confirmation
Ticket Management
-
GET/POST /api/v2/{admin_path}/ticket/fetch
- Purpose: Get support tickets
- Returns: Paginated ticket list
- Data: Ticket details, user info, status
-
POST /api/v2/{admin_path}/ticket/reply
- Purpose: Reply to ticket
- Returns: Reply status
- Data: Ticket reply confirmation
-
POST /api/v2/{admin_path}/ticket/close
- Purpose: Close ticket
- Returns: Closure status
- Data: Ticket closure confirmation
Coupon Management
-
GET/POST /api/v2/{admin_path}/coupon/fetch
- Purpose: Get coupons
- Returns: List of coupons
- Data: Coupon details, usage statistics
-
POST /api/v2/{admin_path}/coupon/generate
- Purpose: Generate coupons
- Returns: Generation status
- Data: New coupon codes
-
POST /api/v2/{admin_path}/coupon/drop
- Purpose: Delete coupon
- Returns: Deletion status
- Data: Coupon deletion confirmation
-
POST /api/v2/{admin_path}/coupon/show
- Purpose: Toggle coupon visibility
- Returns: Visibility status
- Data: Coupon visibility confirmation
-
POST /api/v2/{admin_path}/coupon/update
- Purpose: Update coupon
- Returns: Update status
- Data: Coupon update confirmation
Knowledge Base Management
-
GET /api/v2/{admin_path}/knowledge/fetch
- Purpose: Get knowledge articles
- Returns: List of articles
- Data: Article content, categories, visibility
-
GET /api/v2/{admin_path}/knowledge/getCategory
- Purpose: Get knowledge categories
- Returns: Category structure
- Data: Category hierarchy and organization
-
POST /api/v2/{admin_path}/knowledge/save
- Purpose: Create/update article
- Returns: Save status
- Data: Article save confirmation
-
POST /api/v2/{admin_path}/knowledge/show
- Purpose: Toggle article visibility
- Returns: Visibility status
- Data: Article visibility confirmation
-
POST /api/v2/{admin_path}/knowledge/drop
- Purpose: Delete article
- Returns: Deletion status
- Data: Article deletion confirmation
-
POST /api/v2/{admin_path}/knowledge/sort
- Purpose: Reorder articles
- Returns: Sort status
- Data: Article ordering confirmation
Payment Management
-
GET /api/v2/{admin_path}/payment/fetch
- Purpose: Get payment methods
- Returns: List of payment providers
- Data: Payment method configurations
-
GET /api/v2/{admin_path}/payment/getPaymentMethods
- Purpose: Get available payment methods
- Returns: Payment method list
- Data: Available payment options
-
POST /api/v2/{admin_path}/payment/getPaymentForm
- Purpose: Get payment form configuration
- Returns: Form configuration
- Data: Payment form settings
-
POST /api/v2/{admin_path}/payment/save
- Purpose: Save payment method
- Returns: Save status
- Data: Payment method save confirmation
-
POST /api/v2/{admin_path}/payment/drop
- Purpose: Delete payment method
- Returns: Deletion status
- Data: Payment method deletion confirmation
-
POST /api/v2/{admin_path}/payment/show
- Purpose: Toggle payment method visibility
- Returns: Visibility status
- Data: Payment method visibility confirmation
-
POST /api/v2/{admin_path}/payment/sort
- Purpose: Reorder payment methods
- Returns: Sort status
- Data: Payment method ordering confirmation
System Management
-
GET /api/v2/{admin_path}/system/getSystemStatus
- Purpose: Get system status
- Returns: System health information
- Data: Server status, performance metrics
-
GET /api/v2/{admin_path}/system/getQueueStats
- Purpose: Get queue statistics
- Returns: Queue performance data
- Data: Queue metrics, job statistics
-
GET /api/v2/{admin_path}/system/getQueueWorkload
- Purpose: Get queue workload
- Returns: Current queue workload
- Data: Queue load and processing times
-
GET /api/v2/{admin_path}/system/getQueueMasters
- Purpose: Get queue masters (Horizon)
- Returns: Queue master status
- Data: Horizon supervisor information
-
GET /api/v2/{admin_path}/system/getSystemLog
- Purpose: Get system logs
- Returns: System log entries
- Data: Application logs, errors, events
-
GET /api/v2/{admin_path}/system/getHorizonFailedJobs
- Purpose: Get failed jobs
- Returns: Failed job list
- Data: Failed job details and errors
-
POST /api/v2/{admin_path}/system/clearSystemLog
- Purpose: Clear system logs
- Returns: Clear status
- Data: Log clearing confirmation
-
GET /api/v2/{admin_path}/system/getLogClearStats
- Purpose: Get log clearing statistics
- Returns: Log management stats
- Data: Log storage and clearing metrics
Theme Management
-
GET /api/v2/{admin_path}/theme/getThemes
- Purpose: Get available themes
- Returns: Theme list
- Data: Theme details, configurations
-
POST /api/v2/{admin_path}/theme/upload
- Purpose: Upload theme
- Returns: Upload status
- Data: Theme upload confirmation
-
POST /api/v2/{admin_path}/theme/delete
- Purpose: Delete theme
- Returns: Deletion status
- Data: Theme deletion confirmation
-
POST /api/v2/{admin_path}/theme/saveThemeConfig
- Purpose: Save theme configuration
- Returns: Save status
- Data: Theme configuration save confirmation
-
POST /api/v2/{admin_path}/theme/getThemeConfig
- Purpose: Get theme configuration
- Returns: Theme configuration
- Data: Current theme settings
Plugin Management
-
GET /api/v2/{admin_path}/plugin/getPlugins
- Purpose: Get installed plugins
- Returns: Plugin list
- Data: Plugin details, status, configuration
-
POST /api/v2/{admin_path}/plugin/upload
- Purpose: Upload plugin
- Returns: Upload status
- Data: Plugin upload confirmation
-
POST /api/v2/{admin_path}/plugin/delete
- Purpose: Delete plugin
- Returns: Deletion status
- Data: Plugin deletion confirmation
-
POST /api/v2/{admin_path}/plugin/install
- Purpose: Install plugin
- Returns: Installation status
- Data: Plugin installation confirmation
-
POST /api/v2/{admin_path}/plugin/uninstall
- Purpose: Uninstall plugin
- Returns: Uninstallation status
- Data: Plugin uninstallation confirmation
-
POST /api/v2/{admin_path}/plugin/enable
- Purpose: Enable plugin
- Returns: Enable status
- Data: Plugin enable confirmation
-
POST /api/v2/{admin_path}/plugin/disable
- Purpose: Disable plugin
- Returns: Disable status
- Data: Plugin disable confirmation
-
GET /api/v2/{admin_path}/plugin/config
- Purpose: Get plugin configuration
- Returns: Plugin configuration
- Data: Plugin settings
-
POST /api/v2/{admin_path}/plugin/config
- Purpose: Update plugin configuration
- Returns: Update status
- Data: Plugin configuration update confirmation
Traffic Reset Management
-
GET /api/v2/{admin_path}/traffic-reset/logs
- Purpose: Get traffic reset logs
- Returns: Reset log entries
- Data: Traffic reset history and details
-
GET /api/v2/{admin_path}/traffic-reset/stats
- Purpose: Get traffic reset statistics
- Returns: Reset statistics
- Data: Traffic reset metrics and trends
-
GET /api/v2/{admin_path}/traffic-reset/user/{userId}/history
- Purpose: Get user traffic reset history
- Returns: User-specific reset history
- Data: Individual user reset records
-
POST /api/v2/{admin_path}/traffic-reset/reset-user
- Purpose: Reset user traffic
- Returns: Reset status
- Data: User traffic reset confirmation
📝 Notes
-
Admin Path: The {admin_path} in V2 admin routes is dynamically generated based on the secure_path or frontend_admin_path configuration setting.
-
Authentication Middleware:
user: Requires valid user authentication
admin: Requires admin privileges
staff: Requires staff privileges
client: Requires client token authentication
server: Requires server authentication
-
Response Format: Most endpoints return data in a standardized format:
{
"data": [...], // Actual response data
"message": "Success message",
"status": true/false
}
-
Error Handling: Failed requests return appropriate HTTP status codes with error messages.
-
Pagination: Many list endpoints support pagination with current and pageSize parameters.
-
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.
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
/api/v1//api/v2/Authentication
usermiddleware)staffmiddleware)adminmiddleware)clientmiddleware)servermiddleware)🌐 Guest APIs (Public - No Authentication Required)
Plans
/api/v1/guest/plan/fetchConfiguration
/api/v1/guest/comm/configPayment Webhooks
/api/v1/guest/payment/notify/{method}/{uuid}Telegram Webhooks
/api/v1/guest/telegram/webhook🔐 Authentication APIs (Passport)
V1 Authentication
POST
/api/v1/passport/auth/registerPOST
/api/v1/passport/auth/loginGET
/api/v1/passport/auth/token2LoginPOST
/api/v1/passport/auth/forgetPOST
/api/v1/passport/auth/getQuickLoginUrlPOST
/api/v1/passport/auth/loginWithMailLinkCommunication
POST
/api/v1/passport/comm/sendEmailVerifyPOST
/api/v1/passport/comm/pvV2 Authentication
Same endpoints as V1 but under
/api/v2/passport/prefix.👤 User APIs (Authenticated Users)
User Management
GET
/api/v1/user/infoPOST
/api/v1/user/updatePOST
/api/v1/user/changePasswordGET
/api/v1/user/resetSecurityGET
/api/v1/user/checkLoginGET
/api/v1/user/getStatGET
/api/v1/user/getSubscribePOST
/api/v1/user/transferPOST
/api/v1/user/getQuickLoginUrlSession Management
GET
/api/v1/user/getActiveSessionPOST
/api/v1/user/removeActiveSessionOrders & Billing
POST
/api/v1/user/order/savePOST
/api/v1/user/order/checkoutGET
/api/v1/user/order/checkGET
/api/v1/user/order/detailGET
/api/v1/user/order/fetchGET
/api/v1/user/order/getPaymentMethodPOST
/api/v1/user/order/cancelPlans
/api/v1/user/plan/fetchInvitations
GET
/api/v1/user/invite/saveGET
/api/v1/user/invite/fetchGET
/api/v1/user/invite/detailsSupport & Communication
GET
/api/v1/user/notice/fetchPOST
/api/v1/user/ticket/saveGET
/api/v1/user/ticket/fetchPOST
/api/v1/user/ticket/replyPOST
/api/v1/user/ticket/closePOST
/api/v1/user/ticket/withdrawServers
/api/v1/user/server/fetchCoupons
/api/v1/user/coupon/checkTelegram Integration
/api/v1/user/telegram/getBotInfoConfiguration
GET
/api/v1/user/comm/configPOST
/api/v1/user/comm/getStripePublicKeyKnowledge Base
GET
/api/v1/user/knowledge/fetchGET
/api/v1/user/knowledge/getCategoryStatistics
/api/v1/user/stat/getTrafficLogV2 User APIs
GET
/api/v2/user/resetSecurityGET
/api/v2/user/info📱 Client APIs (Client Authentication)
Subscription
/api/v1/client/subscribeApp Configuration
GET
/api/v1/client/app/getConfigGET
/api/v1/client/app/getVersion🖥️ Server APIs (Server Authentication)
UniProxy
GET
/api/v1/server/UniProxy/configGET
/api/v1/server/UniProxy/userPOST
/api/v1/server/UniProxy/pushPOST
/api/v1/server/UniProxy/aliveGET
/api/v1/server/UniProxy/alivelistPOST
/api/v1/server/UniProxy/statusShadowsocks Tidalab
GET
/api/v1/server/ShadowsocksTidalab/userPOST
/api/v1/server/ShadowsocksTidalab/submitTrojan Tidalab
GET
/api/v1/server/TrojanTidalab/configGET
/api/v1/server/TrojanTidalab/userPOST
/api/v1/server/TrojanTidalab/submit👨💼 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_staffflag and can access certain admin functions with limited permissions.User Management (Staff Level)
🔧 Admin APIs (Administrator Authentication)
Configuration Management
GET
/api/v2/{admin_path}/config/fetchPOST
/api/v2/{admin_path}/config/saveGET
/api/v2/{admin_path}/config/getEmailTemplateGET
/api/v2/{admin_path}/config/getThemeTemplatePOST
/api/v2/{admin_path}/config/setTelegramWebhookPOST
/api/v2/{admin_path}/config/testSendMailPlan Management
GET
/api/v2/{admin_path}/plan/fetchPOST
/api/v2/{admin_path}/plan/savePOST
/api/v2/{admin_path}/plan/dropPOST
/api/v2/{admin_path}/plan/updatePOST
/api/v2/{admin_path}/plan/sortServer Management
Server Groups
GET
/api/v2/{admin_path}/server/group/fetchPOST
/api/v2/{admin_path}/server/group/savePOST
/api/v2/{admin_path}/server/group/dropServer Routes
GET
/api/v2/{admin_path}/server/route/fetchPOST
/api/v2/{admin_path}/server/route/savePOST
/api/v2/{admin_path}/server/route/dropServer Management
GET
/api/v2/{admin_path}/server/manage/getNodesPOST
/api/v2/{admin_path}/server/manage/updatePOST
/api/v2/{admin_path}/server/manage/savePOST
/api/v2/{admin_path}/server/manage/dropPOST
/api/v2/{admin_path}/server/manage/copyPOST
/api/v2/{admin_path}/server/manage/sortOrder Management
GET/POST
/api/v2/{admin_path}/order/fetchPOST
/api/v2/{admin_path}/order/updatePOST
/api/v2/{admin_path}/order/assignPOST
/api/v2/{admin_path}/order/paidPOST
/api/v2/{admin_path}/order/cancelPOST
/api/v2/{admin_path}/order/detailUser Management
GET/POST
/api/v2/{admin_path}/user/fetchPOST
/api/v2/{admin_path}/user/updateGET
/api/v2/{admin_path}/user/getUserInfoByIdPOST
/api/v2/{admin_path}/user/generatePOST
/api/v2/{admin_path}/user/dumpCSVPOST
/api/v2/{admin_path}/user/sendMailPOST
/api/v2/{admin_path}/user/banPOST
/api/v2/{admin_path}/user/resetSecretPOST
/api/v2/{admin_path}/user/setInviteUserPOST
/api/v2/{admin_path}/user/destroyStatistics & Analytics
GET
/api/v2/{admin_path}/stat/getOverrideGET
/api/v2/{admin_path}/stat/getStatsGET
/api/v2/{admin_path}/stat/getServerLastRankGET
/api/v2/{admin_path}/stat/getServerYesterdayRankGET
/api/v2/{admin_path}/stat/getOrderGET/POST
/api/v2/{admin_path}/stat/getStatUserGET
/api/v2/{admin_path}/stat/getRankingGET
/api/v2/{admin_path}/stat/getStatRecordGET
/api/v2/{admin_path}/stat/getTrafficRankNotice Management
GET
/api/v2/{admin_path}/notice/fetchPOST
/api/v2/{admin_path}/notice/savePOST
/api/v2/{admin_path}/notice/updatePOST
/api/v2/{admin_path}/notice/dropPOST
/api/v2/{admin_path}/notice/showPOST
/api/v2/{admin_path}/notice/sortTicket Management
GET/POST
/api/v2/{admin_path}/ticket/fetchPOST
/api/v2/{admin_path}/ticket/replyPOST
/api/v2/{admin_path}/ticket/closeCoupon Management
GET/POST
/api/v2/{admin_path}/coupon/fetchPOST
/api/v2/{admin_path}/coupon/generatePOST
/api/v2/{admin_path}/coupon/dropPOST
/api/v2/{admin_path}/coupon/showPOST
/api/v2/{admin_path}/coupon/updateKnowledge Base Management
GET
/api/v2/{admin_path}/knowledge/fetchGET
/api/v2/{admin_path}/knowledge/getCategoryPOST
/api/v2/{admin_path}/knowledge/savePOST
/api/v2/{admin_path}/knowledge/showPOST
/api/v2/{admin_path}/knowledge/dropPOST
/api/v2/{admin_path}/knowledge/sortPayment Management
GET
/api/v2/{admin_path}/payment/fetchGET
/api/v2/{admin_path}/payment/getPaymentMethodsPOST
/api/v2/{admin_path}/payment/getPaymentFormPOST
/api/v2/{admin_path}/payment/savePOST
/api/v2/{admin_path}/payment/dropPOST
/api/v2/{admin_path}/payment/showPOST
/api/v2/{admin_path}/payment/sortSystem Management
GET
/api/v2/{admin_path}/system/getSystemStatusGET
/api/v2/{admin_path}/system/getQueueStatsGET
/api/v2/{admin_path}/system/getQueueWorkloadGET
/api/v2/{admin_path}/system/getQueueMastersGET
/api/v2/{admin_path}/system/getSystemLogGET
/api/v2/{admin_path}/system/getHorizonFailedJobsPOST
/api/v2/{admin_path}/system/clearSystemLogGET
/api/v2/{admin_path}/system/getLogClearStatsTheme Management
GET
/api/v2/{admin_path}/theme/getThemesPOST
/api/v2/{admin_path}/theme/uploadPOST
/api/v2/{admin_path}/theme/deletePOST
/api/v2/{admin_path}/theme/saveThemeConfigPOST
/api/v2/{admin_path}/theme/getThemeConfigPlugin Management
GET
/api/v2/{admin_path}/plugin/getPluginsPOST
/api/v2/{admin_path}/plugin/uploadPOST
/api/v2/{admin_path}/plugin/deletePOST
/api/v2/{admin_path}/plugin/installPOST
/api/v2/{admin_path}/plugin/uninstallPOST
/api/v2/{admin_path}/plugin/enablePOST
/api/v2/{admin_path}/plugin/disableGET
/api/v2/{admin_path}/plugin/configPOST
/api/v2/{admin_path}/plugin/configTraffic Reset Management
GET
/api/v2/{admin_path}/traffic-reset/logsGET
/api/v2/{admin_path}/traffic-reset/statsGET
/api/v2/{admin_path}/traffic-reset/user/{userId}/historyPOST
/api/v2/{admin_path}/traffic-reset/reset-user📝 Notes
Admin Path: The
{admin_path}in V2 admin routes is dynamically generated based on thesecure_pathorfrontend_admin_pathconfiguration setting.Authentication Middleware:
user: Requires valid user authenticationadmin: Requires admin privilegesstaff: Requires staff privilegesclient: Requires client token authenticationserver: Requires server authenticationResponse Format: Most endpoints return data in a standardized format:
{ "data": [...], // Actual response data "message": "Success message", "status": true/false }Error Handling: Failed requests return appropriate HTTP status codes with error messages.
Pagination: Many list endpoints support pagination with
currentandpageSizeparameters.Filtering: Admin endpoints often support filtering and sorting parameters.
This documentation provides a comprehensive overview of all available API endpoints in the Xboard system. Each endpoint serves specific functionality within the VPN service management platform.