docs: update lite deployment and feature docs

This commit is contained in:
JetSprow
2026-05-01 04:56:06 +10:00
parent f4d71ca526
commit 8034392408
8 changed files with 279 additions and 37 deletions

View File

@@ -1,8 +1,8 @@
openapi: 3.1.0
info:
title: J-Board API
version: 0.2.0
description: Current J-Board Route Handlers. Node provisioning uses 3x-ui; probe API only accepts latency and trace uploads.
title: J-Board Lite API
version: 0.3.0
description: Current J-Board Lite Route Handlers. Node provisioning uses 3x-ui; the Agent API accepts latency, route trace, and Xray access log uploads.
servers:
- url: https://your-domain.com
security: []
@@ -11,8 +11,10 @@ tags:
- name: Public
- name: Payment
- name: Admin
- name: Probe
- name: Agent
- name: Subscription
- name: Wallet
- name: Support
paths:
/api/auth/register:
post:
@@ -82,6 +84,14 @@ paths:
get:
tags: [Payment]
summary: List enabled payment providers
parameters:
- name: target
in: query
required: false
schema:
type: string
enum: [order, wallet]
description: Use wallet to exclude balance payment from recharge flows.
responses:
'200':
description: Providers
@@ -200,10 +210,10 @@ paths:
description: SQL file
/api/agent/latency:
post:
tags: [Probe]
summary: Upload carrier latency probe results
tags: [Agent]
summary: Upload carrier latency results
security:
- probeToken: []
- agentToken: []
requestBody:
required: true
content:
@@ -218,13 +228,13 @@ paths:
schema:
$ref: '#/components/schemas/OkResponse'
'401':
description: Invalid probe token
description: Invalid agent token
/api/agent/trace:
post:
tags: [Probe]
tags: [Agent]
summary: Upload carrier route trace results
security:
- probeToken: []
- agentToken: []
requestBody:
required: true
content:
@@ -239,7 +249,24 @@ paths:
schema:
$ref: '#/components/schemas/OkResponse'
'401':
description: Invalid probe token
description: Invalid agent token
/api/agent/node-access:
post:
tags: [Agent]
summary: Upload aggregated Xray access log events
security:
- agentToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodeAccessUpload'
responses:
'200':
description: Accepted
'401':
description: Invalid agent token
/api/subscription/{id}:
get:
tags: [Subscription]
@@ -264,7 +291,7 @@ paths:
type: string
/api/support/attachments/{id}:
get:
tags: [Subscription]
tags: [Support]
summary: Download or preview support attachment
security:
- cookieAuth: []
@@ -282,13 +309,99 @@ paths:
responses:
'200':
description: Attachment file
/api/subscription/all:
get:
tags: [Subscription]
summary: Download aggregate subscription content
security:
- cookieAuth: []
responses:
'200':
description: Subscription text
content:
text/plain:
schema:
type: string
/api/notifications:
get:
tags: [Subscription]
summary: List current user notifications
security:
- cookieAuth: []
responses:
'200':
description: Notifications
/api/wallet/recharge/{id}:
get:
tags: [Wallet]
summary: Get current user's wallet recharge order
security:
- cookieAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Recharge order
/api/wallet/recharge/payment/create:
post:
tags: [Wallet]
summary: Create external payment parameters for a wallet recharge order
security:
- cookieAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWalletRechargePaymentRequest'
responses:
'200':
description: Payment created
'400':
description: Invalid recharge or payment provider
/api/wallet/recharge/query/{tradeNo}:
get:
tags: [Wallet]
summary: Query wallet recharge payment by trade number
security:
- cookieAuth: []
parameters:
- name: tradeNo
in: path
required: true
schema:
type: string
responses:
'200':
description: Recharge payment state
/api/wallet/redeem-card:
post:
tags: [Wallet]
summary: Redeem a balance or subscription recharge card
security:
- cookieAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RedeemRechargeCardRequest'
responses:
'200':
description: Redeemed
'400':
description: Invalid, used, or expired card
components:
securitySchemes:
cookieAuth:
type: apiKey
in: cookie
name: next-auth.session-token
probeToken:
agentToken:
type: http
scheme: bearer
parameters:
@@ -336,7 +449,25 @@ components:
type: string
provider:
type: string
channel:
type: string
required: [orderId, provider]
CreateWalletRechargePaymentRequest:
type: object
properties:
rechargeId:
type: string
provider:
type: string
channel:
type: string
required: [rechargeId, provider]
RedeemRechargeCardRequest:
type: object
properties:
code:
type: string
required: [code]
LatencyUpload:
type: object
properties:
@@ -383,3 +514,38 @@ components:
type: integer
required: [carrier, hops]
required: [traces]
NodeAccessUpload:
type: object
properties:
events:
type: array
items:
type: object
properties:
clientEmail:
type: string
sourceIp:
type: string
inboundTag:
type: string
network:
type: string
enum: [tcp, udp]
targetHost:
type: string
targetPort:
type: integer
action:
type: string
connectionCount:
type: integer
uniqueTargetCount:
type: integer
firstSeenAt:
type: string
format: date-time
lastSeenAt:
type: string
format: date-time
required: [clientEmail, sourceIp, inboundTag, network, action, connectionCount, uniqueTargetCount]
required: [events]