hi-server/node.json
shanshanzhong 5f884ed737
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m39s
fix: 修复 读写不一致 appleiap 的问题
2026-03-09 05:17:26 -07:00

4670 lines
97 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"swagger": "2.0",
"info": {
"title": "Node API",
"description": "API for ppanel",
"version": "0.0.1"
},
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/v1/server/config": {
"get": {
"summary": "Get server config",
"operationId": "GetServerConfig",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/GetServerConfigResponse"
}
}
},
"parameters": [
{
"name": "protocol",
"in": "query",
"required": true,
"type": "string"
},
{
"name": "server_id",
"in": "query",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "secret_key",
"in": "query",
"required": true,
"type": "string"
}
],
"tags": [
"server"
]
}
},
"/v1/server/online": {
"post": {
"summary": "Push online users",
"operationId": "PushOnlineUsers",
"responses": {
"200": {
"description": "A successful response.",
"schema": {}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/OnlineUsersRequest"
}
}
],
"tags": [
"server"
]
}
},
"/v1/server/push": {
"post": {
"summary": "Push user Traffic",
"operationId": "ServerPushUserTraffic",
"responses": {
"200": {
"description": "A successful response.",
"schema": {}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ServerPushUserTrafficRequest"
}
}
],
"tags": [
"server"
]
}
},
"/v1/server/status": {
"post": {
"summary": "Push server status",
"operationId": "ServerPushStatus",
"responses": {
"200": {
"description": "A successful response.",
"schema": {}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ServerPushStatusRequest"
}
}
],
"tags": [
"server"
]
}
},
"/v1/server/user": {
"get": {
"summary": "Get user list",
"operationId": "GetServerUserList",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/GetServerUserListResponse"
}
}
},
"parameters": [
{
"name": "protocol",
"in": "query",
"required": true,
"type": "string"
},
{
"name": "server_id",
"in": "query",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "secret_key",
"in": "query",
"required": true,
"type": "string"
}
],
"tags": [
"server"
]
}
},
"/v2/server/{server_id}": {
"get": {
"summary": "Get Server Protocol Config",
"operationId": "QueryServerProtocolConfig",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/QueryServerConfigResponse"
}
}
},
"parameters": [
{
"name": "server_id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "secret_key",
"in": "query",
"required": true,
"type": "string"
},
{
"name": "protocols",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"server"
],
"consumes": [
"multipart/form-data"
]
}
}
},
"definitions": {
"Ads": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"content": {
"type": "string"
},
"description": {
"type": "string"
},
"target_url": {
"type": "string"
},
"start_time": {
"type": "integer",
"format": "int64"
},
"end_time": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "integer",
"format": "int32"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Ads",
"required": [
"id",
"title",
"type",
"content",
"description",
"target_url",
"start_time",
"end_time",
"status",
"created_at",
"updated_at"
]
},
"AlipayNotifyResponse": {
"type": "object",
"properties": {
"return_code": {
"type": "string"
}
},
"title": "AlipayNotifyResponse",
"required": [
"return_code"
]
},
"Announcement": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
},
"show": {
"type": "boolean",
"format": "boolean"
},
"pinned": {
"type": "boolean",
"format": "boolean"
},
"popup": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Announcement",
"required": [
"id",
"title",
"content",
"show",
"pinned",
"popup",
"created_at",
"updated_at"
]
},
"AnyTLS": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "AnyTLS",
"required": [
"port",
"security_config"
]
},
"AppUserSubcbribe": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"upload": {
"type": "integer",
"format": "int64"
},
"traffic": {
"type": "integer",
"format": "int64"
},
"download": {
"type": "integer",
"format": "int64"
},
"device_limit": {
"type": "integer",
"format": "int64"
},
"start_time": {
"type": "string"
},
"expire_time": {
"type": "string"
},
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/AppUserSubscbribeNode"
}
}
},
"title": "AppUserSubcbribe",
"required": [
"id",
"name",
"upload",
"traffic",
"download",
"device_limit",
"start_time",
"expire_time",
"list"
]
},
"AppUserSubscbribeNode": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"uuid": {
"type": "string"
},
"protocol": {
"type": "string"
},
"relay_mode": {
"type": "string"
},
"relay_node": {
"type": "string"
},
"server_addr": {
"type": "string"
},
"speed_limit": {
"type": "integer",
"format": "int32"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"traffic": {
"type": "integer",
"format": "int64"
},
"traffic_ratio": {
"type": "number",
"format": "double"
},
"upload": {
"type": "integer",
"format": "int64"
},
"config": {
"type": "string"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"latitude": {
"type": "string"
},
"longitude": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"download": {
"type": "integer",
"format": "int64"
}
},
"title": "AppUserSubscbribeNode",
"required": [
"id",
"name",
"uuid",
"protocol",
"relay_mode",
"relay_node",
"server_addr",
"speed_limit",
"tags",
"traffic",
"traffic_ratio",
"upload",
"config",
"country",
"city",
"latitude",
"longitude",
"created_at",
"download"
]
},
"Application": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"icon": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"subscribe_type": {
"type": "string"
}
},
"title": "Application",
"required": [
"id",
"icon",
"name",
"description",
"subscribe_type"
]
},
"ApplicationPlatform": {
"type": "object",
"properties": {
"ios": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
},
"macos": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
},
"linux": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
},
"android": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
},
"windows": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
},
"harmony": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationVersion"
}
}
},
"title": "ApplicationPlatform"
},
"ApplicationResponse": {
"type": "object",
"properties": {
"applications": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationResponseInfo"
}
}
},
"title": "ApplicationResponse",
"required": [
"applications"
]
},
"ApplicationResponseInfo": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"icon": {
"type": "string"
},
"description": {
"type": "string"
},
"subscribe_type": {
"type": "string"
},
"platform": {
"$ref": "#/definitions/ApplicationPlatform"
}
},
"title": "ApplicationResponseInfo",
"required": [
"id",
"name",
"icon",
"description",
"subscribe_type",
"platform"
]
},
"ApplicationVersion": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"version": {
"type": "string"
},
"description": {
"type": "string"
},
"is_default": {
"type": "boolean",
"format": "boolean"
}
},
"title": "ApplicationVersion",
"required": [
"id",
"url",
"version",
"description",
"is_default"
]
},
"AttachAppleTransactionByIdRequest": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
},
"transaction_id": {
"type": "string"
},
"sandbox": {
"type": "boolean",
"format": "boolean"
}
},
"title": "AttachAppleTransactionByIdRequest",
"required": [
"order_no",
"transaction_id"
]
},
"AttachAppleTransactionRequest": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
},
"signed_transaction_jws": {
"type": "string"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"duration_days": {
"type": "integer",
"format": "int64"
},
"tier": {
"type": "string"
}
},
"title": "AttachAppleTransactionRequest",
"required": [
"order_no",
"signed_transaction_jws"
]
},
"AttachAppleTransactionResponse": {
"type": "object",
"properties": {
"expires_at": {
"type": "integer",
"format": "int64"
},
"tier": {
"type": "string"
}
},
"title": "AttachAppleTransactionResponse",
"required": [
"expires_at",
"tier"
]
},
"AuthConfig": {
"type": "object",
"properties": {
"mobile": {
"$ref": "#/definitions/MobileAuthenticateConfig"
},
"email": {
"$ref": "#/definitions/EmailAuthticateConfig"
},
"device": {
"$ref": "#/definitions/DeviceAuthticateConfig"
},
"register": {
"$ref": "#/definitions/PubilcRegisterConfig"
}
},
"title": "AuthConfig",
"required": [
"mobile",
"email",
"device",
"register"
]
},
"AuthMethodConfig": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"method": {
"type": "string"
},
"config": {
"type": "object"
},
"enabled": {
"type": "boolean",
"format": "boolean"
}
},
"title": "AuthMethodConfig",
"required": [
"id",
"method",
"config",
"enabled"
]
},
"BalanceLog": {
"type": "object",
"properties": {
"type": {
"type": "integer",
"format": "uin16"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"amount": {
"type": "integer",
"format": "int64"
},
"order_no": {
"type": "string"
},
"balance": {
"type": "integer",
"format": "int64"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "BalanceLog",
"required": [
"type",
"user_id",
"amount",
"balance",
"timestamp"
]
},
"CheckoutOrderRequest": {
"type": "object",
"properties": {
"orderNo": {
"type": "string"
},
"returnUrl": {
"type": "string"
}
},
"title": "CheckoutOrderRequest",
"required": [
"orderNo"
]
},
"CheckoutOrderResponse": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"stripe": {
"$ref": "#/definitions/StripePayment"
},
"product_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "CheckoutOrderResponse",
"required": [
"type"
]
},
"CloseOrderRequest": {
"type": "object",
"properties": {
"orderNo": {
"type": "string"
}
},
"title": "CloseOrderRequest",
"required": [
"orderNo"
]
},
"CommissionLog": {
"type": "object",
"properties": {
"type": {
"type": "integer",
"format": "uin16"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"amount": {
"type": "integer",
"format": "int64"
},
"order_no": {
"type": "string"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "CommissionLog",
"required": [
"type",
"user_id",
"amount",
"order_no",
"timestamp"
]
},
"Coupon": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"code": {
"type": "string"
},
"count": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "integer",
"format": "uint8"
},
"discount": {
"type": "integer",
"format": "int64"
},
"start_time": {
"type": "integer",
"format": "int64"
},
"expire_time": {
"type": "integer",
"format": "int64"
},
"user_limit": {
"type": "integer",
"format": "int64"
},
"subscribe": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"used_count": {
"type": "integer",
"format": "int64"
},
"enable": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Coupon",
"required": [
"id",
"name",
"code",
"count",
"type",
"discount",
"start_time",
"expire_time",
"user_limit",
"subscribe",
"used_count",
"enable",
"created_at",
"updated_at"
]
},
"CurrencyConfig": {
"type": "object",
"properties": {
"access_key": {
"type": "string"
},
"currency_unit": {
"type": "string"
},
"currency_symbol": {
"type": "string"
}
},
"title": "CurrencyConfig",
"required": [
"access_key",
"currency_unit",
"currency_symbol"
]
},
"DeviceAuthticateConfig": {
"type": "object",
"properties": {
"enable": {
"type": "boolean",
"format": "boolean"
},
"show_ads": {
"type": "boolean",
"format": "boolean"
},
"enable_security": {
"type": "boolean",
"format": "boolean"
},
"only_real_device": {
"type": "boolean",
"format": "boolean"
}
},
"title": "DeviceAuthticateConfig",
"required": [
"enable",
"show_ads",
"enable_security",
"only_real_device"
]
},
"Document": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"show": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Document",
"required": [
"id",
"title",
"content",
"tags",
"show",
"created_at",
"updated_at"
]
},
"DownloadLink": {
"type": "object",
"properties": {
"ios": {
"type": "string"
},
"android": {
"type": "string"
},
"windows": {
"type": "string"
},
"mac": {
"type": "string"
},
"linux": {
"type": "string"
},
"harmony": {
"type": "string"
}
},
"title": "DownloadLink"
},
"EPayNotifyRequest": {
"type": "object",
"properties": {
"pid": {
"type": "integer",
"format": "int64"
},
"trade_no": {
"type": "string"
},
"out_trade_no": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"money": {
"type": "string"
},
"trade_status": {
"type": "string"
},
"param": {
"type": "string"
},
"sign": {
"type": "string"
},
"sign_type": {
"type": "string"
}
},
"title": "EPayNotifyRequest",
"required": [
"pid",
"trade_no",
"out_trade_no",
"type",
"name",
"money",
"trade_status",
"param",
"sign",
"sign_type"
]
},
"EmailAuthticateConfig": {
"type": "object",
"properties": {
"enable": {
"type": "boolean",
"format": "boolean"
},
"enable_verify": {
"type": "boolean",
"format": "boolean"
},
"enable_domain_suffix": {
"type": "boolean",
"format": "boolean"
},
"domain_suffix_list": {
"type": "string"
}
},
"title": "EmailAuthticateConfig",
"required": [
"enable",
"enable_verify",
"enable_domain_suffix",
"domain_suffix_list"
]
},
"FamilyDetail": {
"type": "object",
"properties": {
"summary": {
"$ref": "#/definitions/FamilySummary"
},
"members": {
"type": "array",
"items": {
"$ref": "#/definitions/FamilyMemberItem"
}
}
},
"title": "FamilyDetail",
"required": [
"summary",
"members"
]
},
"FamilyMemberItem": {
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"format": "int64"
},
"identifier": {
"type": "string"
},
"role": {
"type": "integer",
"format": "uint8"
},
"role_name": {
"type": "string"
},
"status": {
"type": "integer",
"format": "uint8"
},
"status_name": {
"type": "string"
},
"join_source": {
"type": "string"
},
"joined_at": {
"type": "integer",
"format": "int64"
},
"left_at": {
"type": "integer",
"format": "int64"
}
},
"title": "FamilyMemberItem",
"required": [
"user_id",
"identifier",
"role",
"role_name",
"status",
"status_name",
"join_source",
"joined_at"
]
},
"FamilySummary": {
"type": "object",
"properties": {
"family_id": {
"type": "integer",
"format": "int64"
},
"owner_user_id": {
"type": "integer",
"format": "int64"
},
"owner_identifier": {
"type": "string"
},
"status": {
"type": "string"
},
"active_member_count": {
"type": "integer",
"format": "int64"
},
"max_members": {
"type": "integer",
"format": "int64"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "FamilySummary",
"required": [
"family_id",
"owner_user_id",
"owner_identifier",
"status",
"active_member_count",
"max_members",
"created_at",
"updated_at"
]
},
"Follow": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"ticket_id": {
"type": "integer",
"format": "int64"
},
"from": {
"type": "string"
},
"type": {
"type": "integer",
"format": "uint8"
},
"content": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Follow",
"required": [
"id",
"ticket_id",
"from",
"type",
"content",
"created_at"
]
},
"GetAppleStatusResponse": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"format": "boolean"
},
"expires_at": {
"type": "integer",
"format": "int64"
},
"tier": {
"type": "string"
}
},
"title": "GetAppleStatusResponse",
"required": [
"active",
"expires_at",
"tier"
]
},
"GetAvailablePaymentMethodsResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/PaymentMethod"
}
}
},
"title": "GetAvailablePaymentMethodsResponse",
"required": [
"list"
]
},
"GetServerConfigRequest": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
}
},
"title": "GetServerConfigRequest"
},
"GetServerConfigResponse": {
"type": "object",
"properties": {
"basic": {
"$ref": "#/definitions/ServerBasic"
},
"protocol": {
"type": "string"
},
"config": {
"type": "object"
}
},
"title": "GetServerConfigResponse",
"required": [
"basic",
"protocol",
"config"
]
},
"GetServerUserListRequest": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
}
},
"title": "GetServerUserListRequest"
},
"GetServerUserListResponse": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/ServerUser"
}
}
},
"title": "GetServerUserListResponse",
"required": [
"users"
]
},
"GetUserSubscribeTrafficLogsRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"start_time": {
"type": "integer",
"format": "int64"
},
"end_time": {
"type": "integer",
"format": "int64"
}
},
"title": "GetUserSubscribeTrafficLogsRequest",
"required": [
"page",
"size",
"user_id",
"subscribe_id",
"start_time",
"end_time"
]
},
"GetUserSubscribeTrafficLogsResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/TrafficLog"
}
},
"total": {
"type": "integer",
"format": "int64"
}
},
"title": "GetUserSubscribeTrafficLogsResponse",
"required": [
"list",
"total"
]
},
"Hysteria2": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"hop_ports": {
"type": "string"
},
"hop_interval": {
"type": "integer",
"format": "int32"
},
"obfs_password": {
"type": "string"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "Hysteria2",
"required": [
"port",
"hop_ports",
"hop_interval",
"obfs_password",
"security_config"
]
},
"InviteConfig": {
"type": "object",
"properties": {
"forced_invite": {
"type": "boolean",
"format": "boolean"
},
"referral_percentage": {
"type": "integer",
"format": "int64"
},
"only_first_purchase": {
"type": "boolean",
"format": "boolean"
},
"gift_days": {
"type": "integer",
"format": "int64"
}
},
"title": "InviteConfig",
"required": [
"forced_invite",
"referral_percentage",
"only_first_purchase",
"gift_days"
]
},
"MessageLog": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "integer",
"format": "uint8"
},
"platform": {
"type": "string"
},
"to": {
"type": "string"
},
"subject": {
"type": "string"
},
"content": {
"type": "object"
},
"status": {
"type": "integer",
"format": "uint8"
},
"created_at": {
"type": "integer",
"format": "int64"
}
},
"title": "MessageLog",
"required": [
"id",
"type",
"platform",
"to",
"subject",
"content",
"status",
"created_at"
]
},
"MobileAuthenticateConfig": {
"type": "object",
"properties": {
"enable": {
"type": "boolean",
"format": "boolean"
},
"enable_whitelist": {
"type": "boolean",
"format": "boolean"
},
"whitelist": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "MobileAuthenticateConfig",
"required": [
"enable",
"enable_whitelist",
"whitelist"
]
},
"NodeConfig": {
"type": "object",
"properties": {
"node_secret": {
"type": "string"
},
"node_pull_interval": {
"type": "integer",
"format": "int64"
},
"node_push_interval": {
"type": "integer",
"format": "int64"
},
"traffic_report_threshold": {
"type": "integer",
"format": "int64"
},
"ip_strategy": {
"type": "string"
},
"dns": {
"type": "array",
"items": {
"$ref": "#/definitions/NodeDNS"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
},
"outbound": {
"type": "array",
"items": {
"$ref": "#/definitions/NodeOutbound"
}
}
},
"title": "NodeConfig",
"required": [
"node_secret",
"node_pull_interval",
"node_push_interval",
"traffic_report_threshold",
"ip_strategy",
"dns",
"block",
"outbound"
]
},
"NodeDNS": {
"type": "object",
"properties": {
"proto": {
"type": "string"
},
"address": {
"type": "string"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "NodeDNS",
"required": [
"proto",
"address",
"domains"
]
},
"NodeOutbound": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"protocol": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int64"
},
"password": {
"type": "string"
},
"rules": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "NodeOutbound",
"required": [
"name",
"protocol",
"address",
"port",
"password",
"rules"
]
},
"NodeRelay": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32"
},
"prefix": {
"type": "string"
}
},
"title": "NodeRelay",
"required": [
"host",
"port",
"prefix"
]
},
"OnlineUser": {
"type": "object",
"properties": {
"uid": {
"type": "integer",
"format": "int64"
},
"ip": {
"type": "string"
}
},
"title": "OnlineUser",
"required": [
"uid",
"ip"
]
},
"OnlineUsersRequest": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
},
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/OnlineUser"
}
}
},
"title": "OnlineUsersRequest",
"required": [
"users"
]
},
"Order": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"order_no": {
"type": "string"
},
"type": {
"type": "integer",
"format": "uint8"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"price": {
"type": "integer",
"format": "int64"
},
"amount": {
"type": "integer",
"format": "int64"
},
"gift_amount": {
"type": "integer",
"format": "int64"
},
"discount": {
"type": "integer",
"format": "int64"
},
"coupon": {
"type": "string"
},
"coupon_discount": {
"type": "integer",
"format": "int64"
},
"commission": {
"type": "integer",
"format": "int64"
},
"payment": {
"$ref": "#/definitions/PaymentMethod"
},
"fee_amount": {
"type": "integer",
"format": "int64"
},
"trade_no": {
"type": "string"
},
"status": {
"type": "integer",
"format": "uint8"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Order",
"required": [
"id",
"user_id",
"order_no",
"type",
"quantity",
"price",
"amount",
"gift_amount",
"discount",
"coupon",
"coupon_discount",
"payment",
"fee_amount",
"trade_no",
"status",
"subscribe_id",
"created_at",
"updated_at"
]
},
"OrderDetail": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"order_no": {
"type": "string"
},
"type": {
"type": "integer",
"format": "uint8"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"price": {
"type": "integer",
"format": "int64"
},
"amount": {
"type": "integer",
"format": "int64"
},
"gift_amount": {
"type": "integer",
"format": "int64"
},
"discount": {
"type": "integer",
"format": "int64"
},
"coupon": {
"type": "string"
},
"coupon_discount": {
"type": "integer",
"format": "int64"
},
"commission": {
"type": "integer",
"format": "int64"
},
"payment": {
"$ref": "#/definitions/PaymentMethod"
},
"method": {
"type": "string"
},
"fee_amount": {
"type": "integer",
"format": "int64"
},
"trade_no": {
"type": "string"
},
"status": {
"type": "integer",
"format": "uint8"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"subscribe": {
"$ref": "#/definitions/Subscribe"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "OrderDetail",
"required": [
"id",
"user_id",
"order_no",
"type",
"quantity",
"price",
"amount",
"gift_amount",
"discount",
"coupon",
"coupon_discount",
"payment",
"method",
"fee_amount",
"trade_no",
"status",
"subscribe_id",
"subscribe",
"created_at",
"updated_at"
]
},
"PaymentConfig": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"platform": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"domain": {
"type": "string"
},
"config": {
"type": "object"
},
"fee_mode": {
"type": "integer",
"format": "uint32"
},
"fee_percent": {
"type": "integer",
"format": "int64"
},
"fee_amount": {
"type": "integer",
"format": "int64"
},
"enable": {
"type": "boolean",
"format": "boolean"
}
},
"title": "PaymentConfig",
"required": [
"id",
"name",
"platform",
"description",
"config",
"fee_mode",
"enable"
]
},
"PaymentMethod": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"platform": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"fee_mode": {
"type": "integer",
"format": "uint32"
},
"fee_percent": {
"type": "integer",
"format": "int64"
},
"fee_amount": {
"type": "integer",
"format": "int64"
}
},
"title": "PaymentMethod",
"required": [
"id",
"name",
"platform",
"description",
"icon",
"fee_mode",
"fee_percent",
"fee_amount"
]
},
"PaymentMethodDetail": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"platform": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"domain": {
"type": "string"
},
"config": {
"type": "object"
},
"fee_mode": {
"type": "integer",
"format": "uint32"
},
"fee_percent": {
"type": "integer",
"format": "int64"
},
"fee_amount": {
"type": "integer",
"format": "int64"
},
"enable": {
"type": "boolean",
"format": "boolean"
},
"notify_url": {
"type": "string"
}
},
"title": "PaymentMethodDetail",
"required": [
"id",
"name",
"platform",
"description",
"icon",
"domain",
"config",
"fee_mode",
"fee_percent",
"fee_amount",
"enable",
"notify_url"
]
},
"PlatformInfo": {
"type": "object",
"properties": {
"platform": {
"type": "string"
},
"platform_url": {
"type": "string"
},
"platform_field_description": {
"type": "object"
}
},
"title": "PlatformInfo",
"required": [
"platform",
"platform_url",
"platform_field_description"
]
},
"PlatformResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/PlatformInfo"
}
}
},
"title": "PlatformResponse",
"required": [
"list"
]
},
"PreOrderResponse": {
"type": "object",
"properties": {
"price": {
"type": "integer",
"format": "int64"
},
"amount": {
"type": "integer",
"format": "int64"
},
"discount": {
"type": "integer",
"format": "int64"
},
"gift_amount": {
"type": "integer",
"format": "int64"
},
"coupon": {
"type": "string"
},
"coupon_discount": {
"type": "integer",
"format": "int64"
},
"fee_amount": {
"type": "integer",
"format": "int64"
}
},
"title": "PreOrderResponse",
"required": [
"price",
"amount",
"discount",
"gift_amount",
"coupon",
"coupon_discount",
"fee_amount"
]
},
"PreRenewalOrderResponse": {
"type": "object",
"properties": {
"orderNo": {
"type": "string"
}
},
"title": "PreRenewalOrderResponse",
"required": [
"orderNo"
]
},
"PrivacyPolicyConfig": {
"type": "object",
"properties": {
"privacy_policy": {
"type": "string"
}
},
"title": "PrivacyPolicyConfig",
"required": [
"privacy_policy"
]
},
"Protocol": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"port": {
"type": "integer",
"format": "uin16"
},
"enable": {
"type": "boolean",
"format": "boolean"
},
"security": {
"type": "string"
},
"sni": {
"type": "string"
},
"allow_insecure": {
"type": "boolean",
"format": "boolean"
},
"fingerprint": {
"type": "string"
},
"reality_server_addr": {
"type": "string"
},
"reality_server_port": {
"type": "integer",
"format": "int32"
},
"reality_private_key": {
"type": "string"
},
"reality_public_key": {
"type": "string"
},
"reality_short_id": {
"type": "string"
},
"transport": {
"type": "string"
},
"host": {
"type": "string"
},
"path": {
"type": "string"
},
"service_name": {
"type": "string"
},
"cipher": {
"type": "string"
},
"server_key": {
"type": "string"
},
"flow": {
"type": "string"
},
"hop_ports": {
"type": "string"
},
"hop_interval": {
"type": "integer",
"format": "int32"
},
"obfs_password": {
"type": "string"
},
"disable_sni": {
"type": "boolean",
"format": "boolean"
},
"reduce_rtt": {
"type": "boolean",
"format": "boolean"
},
"udp_relay_mode": {
"type": "string"
},
"congestion_controller": {
"type": "string"
},
"multiplex": {
"type": "string",
"description": " mux, eg: off/low/medium/high"
},
"padding_scheme": {
"type": "string",
"description": " padding scheme"
},
"up_mbps": {
"type": "integer",
"format": "int32",
"description": " upload speed limit"
},
"down_mbps": {
"type": "integer",
"format": "int32",
"description": " download speed limit"
},
"obfs": {
"type": "string",
"description": " obfs, 'none', 'http', 'tls'"
},
"obfs_host": {
"type": "string",
"description": " obfs host"
},
"obfs_path": {
"type": "string",
"description": " obfs path"
},
"xhttp_mode": {
"type": "string",
"description": " xhttp mode"
},
"xhttp_extra": {
"type": "string",
"description": " xhttp extra path"
},
"encryption": {
"type": "string",
"description": " encryption'none', 'mlkem768x25519plus'"
},
"encryption_mode": {
"type": "string",
"description": " encryption mode'native', 'xorpub', 'random'"
},
"encryption_rtt": {
"type": "string",
"description": " encryption rtt'0rtt', '1rtt'"
},
"encryption_ticket": {
"type": "string",
"description": " encryption ticket"
},
"encryption_server_padding": {
"type": "string",
"description": " encryption server padding"
},
"encryption_private_key": {
"type": "string",
"description": " encryption private key"
},
"encryption_client_padding": {
"type": "string",
"description": " encryption client padding"
},
"encryption_password": {
"type": "string",
"description": " encryption password"
},
"ratio": {
"type": "number",
"format": "double",
"description": " Traffic ratio, default is 1"
},
"cert_mode": {
"type": "string",
"description": " Certificate mode, `none``http``dns``self`"
},
"cert_dns_provider": {
"type": "string",
"description": " DNS provider for certificate"
},
"cert_dns_env": {
"type": "string",
"description": " Environment for DNS provider"
}
},
"title": "Protocol",
"required": [
"type",
"port",
"enable"
]
},
"PubilcRegisterConfig": {
"type": "object",
"properties": {
"stop_register": {
"type": "boolean",
"format": "boolean"
},
"enable_ip_register_limit": {
"type": "boolean",
"format": "boolean"
},
"ip_register_limit": {
"type": "integer",
"format": "int64"
},
"ip_register_limit_duration": {
"type": "integer",
"format": "int64"
}
},
"title": "PubilcRegisterConfig",
"required": [
"stop_register",
"enable_ip_register_limit",
"ip_register_limit",
"ip_register_limit_duration"
]
},
"PubilcVerifyCodeConfig": {
"type": "object",
"properties": {
"verify_code_interval": {
"type": "integer",
"format": "int64"
}
},
"title": "PubilcVerifyCodeConfig",
"required": [
"verify_code_interval"
]
},
"PurchaseOrderRequest": {
"type": "object",
"properties": {
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"payment": {
"type": "integer",
"format": "int64"
},
"coupon": {
"type": "string"
}
},
"title": "PurchaseOrderRequest",
"required": [
"subscribe_id",
"quantity"
]
},
"PurchaseOrderResponse": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
}
},
"title": "PurchaseOrderResponse",
"required": [
"order_no"
]
},
"QueryAnnouncementRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32",
"default": "15"
},
"pinned": {
"type": "boolean",
"format": "boolean"
},
"popup": {
"type": "boolean",
"format": "boolean"
}
},
"title": "QueryAnnouncementRequest",
"required": [
"page",
"size",
"pinned",
"popup"
]
},
"QueryAnnouncementResponse": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"announcements": {
"type": "array",
"items": {
"$ref": "#/definitions/Announcement"
}
}
},
"title": "QueryAnnouncementResponse",
"required": [
"total",
"announcements"
]
},
"QueryDocumentDetailRequest": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
}
},
"title": "QueryDocumentDetailRequest",
"required": [
"id"
]
},
"QueryDocumentListResponse": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/Document"
}
}
},
"title": "QueryDocumentListResponse",
"required": [
"total",
"list"
]
},
"QueryOrderDetailRequest": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
}
},
"title": "QueryOrderDetailRequest",
"required": [
"order_no"
]
},
"QueryOrderListRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"status": {
"type": "integer",
"format": "int32"
},
"search": {
"type": "string"
}
},
"title": "QueryOrderListRequest",
"required": [
"page",
"size"
]
},
"QueryOrderListResponse": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/OrderDetail"
}
}
},
"title": "QueryOrderListResponse",
"required": [
"total",
"list"
]
},
"QueryServerConfigRequest": {
"type": "object",
"properties": {
"secret_key": {
"type": "string"
},
"protocols": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "QueryServerConfigRequest",
"required": [
"secret_key"
]
},
"QueryServerConfigResponse": {
"type": "object",
"properties": {
"traffic_report_threshold": {
"type": "integer",
"format": "int64"
},
"ip_strategy": {
"type": "string"
},
"dns": {
"type": "array",
"items": {
"$ref": "#/definitions/NodeDNS"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
},
"outbound": {
"type": "array",
"items": {
"$ref": "#/definitions/NodeOutbound"
}
},
"protocols": {
"type": "array",
"items": {
"$ref": "#/definitions/Protocol"
}
},
"total": {
"type": "integer",
"format": "int64"
}
},
"title": "QueryServerConfigResponse",
"required": [
"traffic_report_threshold",
"ip_strategy",
"dns",
"block",
"outbound",
"protocols",
"total"
]
},
"QuerySubscribeGroupListResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/SubscribeGroup"
}
},
"total": {
"type": "integer",
"format": "int64"
}
},
"title": "QuerySubscribeGroupListResponse",
"required": [
"list",
"total"
]
},
"QuerySubscribeListResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/Subscribe"
}
},
"total": {
"type": "integer",
"format": "int64"
}
},
"title": "QuerySubscribeListResponse",
"required": [
"list",
"total"
]
},
"QueryUserAffiliateCountResponse": {
"type": "object",
"properties": {
"registers": {
"type": "integer",
"format": "int64"
},
"total_commission": {
"type": "integer",
"format": "int64"
}
},
"title": "QueryUserAffiliateCountResponse",
"required": [
"registers",
"total_commission"
]
},
"QueryUserAffiliateListRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
},
"title": "QueryUserAffiliateListRequest",
"required": [
"page",
"size"
]
},
"QueryUserAffiliateListResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/UserAffiliate"
}
},
"total": {
"type": "integer",
"format": "int64"
}
},
"title": "QueryUserAffiliateListResponse",
"required": [
"list",
"total"
]
},
"RechargeOrderRequest": {
"type": "object",
"properties": {
"amount": {
"type": "integer",
"format": "int64"
},
"payment": {
"type": "integer",
"format": "int64"
}
},
"title": "RechargeOrderRequest",
"required": [
"amount",
"payment"
]
},
"RechargeOrderResponse": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
}
},
"title": "RechargeOrderResponse",
"required": [
"order_no"
]
},
"RedemptionCode": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"code": {
"type": "string"
},
"total_count": {
"type": "integer",
"format": "int64"
},
"used_count": {
"type": "integer",
"format": "int64"
},
"subscribe_plan": {
"type": "integer",
"format": "int64"
},
"unit_time": {
"type": "string"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "integer",
"format": "int64"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "RedemptionCode",
"required": [
"id",
"code",
"total_count",
"used_count",
"subscribe_plan",
"unit_time",
"quantity",
"status",
"created_at",
"updated_at"
]
},
"RedemptionRecord": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"redemption_code_id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"unit_time": {
"type": "string"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"redeemed_at": {
"type": "integer",
"format": "int64"
},
"created_at": {
"type": "integer",
"format": "int64"
}
},
"title": "RedemptionRecord",
"required": [
"id",
"redemption_code_id",
"user_id",
"subscribe_id",
"unit_time",
"quantity",
"redeemed_at",
"created_at"
]
},
"RegisterConfig": {
"type": "object",
"properties": {
"stop_register": {
"type": "boolean",
"format": "boolean"
},
"enable_trial": {
"type": "boolean",
"format": "boolean"
},
"trial_subscribe": {
"type": "integer",
"format": "int64"
},
"trial_time": {
"type": "integer",
"format": "int64"
},
"trial_time_unit": {
"type": "string"
},
"enable_ip_register_limit": {
"type": "boolean",
"format": "boolean"
},
"ip_register_limit": {
"type": "integer",
"format": "int64"
},
"ip_register_limit_duration": {
"type": "integer",
"format": "int64"
},
"device_limit": {
"type": "integer",
"format": "int64"
}
},
"title": "RegisterConfig",
"required": [
"stop_register",
"enable_trial",
"trial_subscribe",
"trial_time",
"trial_time_unit",
"enable_ip_register_limit",
"ip_register_limit",
"ip_register_limit_duration",
"device_limit"
]
},
"RenewalOrderRequest": {
"type": "object",
"properties": {
"user_subscribe_id": {
"type": "integer",
"format": "int64"
},
"quantity": {
"type": "integer",
"format": "int64"
},
"payment": {
"type": "integer",
"format": "int64"
},
"coupon": {
"type": "string"
}
},
"title": "RenewalOrderRequest",
"required": [
"user_subscribe_id",
"quantity",
"payment"
]
},
"RenewalOrderResponse": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
}
},
"title": "RenewalOrderResponse",
"required": [
"order_no"
]
},
"ResetSubscribeTrafficLog": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "integer",
"format": "uin16"
},
"user_subscribe_id": {
"type": "integer",
"format": "int64"
},
"order_no": {
"type": "string"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "ResetSubscribeTrafficLog",
"required": [
"id",
"type",
"user_subscribe_id",
"timestamp"
]
},
"ResetTrafficOrderRequest": {
"type": "object",
"properties": {
"user_subscribe_id": {
"type": "integer",
"format": "int64"
},
"payment": {
"type": "integer",
"format": "int64"
}
},
"title": "ResetTrafficOrderRequest",
"required": [
"user_subscribe_id",
"payment"
]
},
"ResetTrafficOrderResponse": {
"type": "object",
"properties": {
"order_no": {
"type": "string"
}
},
"title": "ResetTrafficOrderResponse",
"required": [
"order_no"
]
},
"ResetUserSubscribeTokenRequest": {
"type": "object",
"properties": {
"user_subscribe_id": {
"type": "integer",
"format": "int64"
}
},
"title": "ResetUserSubscribeTokenRequest",
"required": [
"user_subscribe_id"
]
},
"RestoreAppleTransactionsRequest": {
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "RestoreAppleTransactionsRequest",
"required": [
"transactions"
]
},
"SecurityConfig": {
"type": "object",
"properties": {
"sni": {
"type": "string"
},
"allow_insecure": {
"type": "boolean",
"format": "boolean"
},
"fingerprint": {
"type": "string"
},
"reality_server_addr": {
"type": "string"
},
"reality_server_port": {
"type": "integer",
"format": "int32"
},
"reality_private_key": {
"type": "string"
},
"reality_public_key": {
"type": "string"
},
"reality_short_id": {
"type": "string"
}
},
"title": "SecurityConfig",
"required": [
"sni",
"allow_insecure",
"fingerprint",
"reality_server_addr",
"reality_server_port",
"reality_private_key",
"reality_public_key",
"reality_short_id"
]
},
"ServerBasic": {
"type": "object",
"properties": {
"push_interval": {
"type": "integer",
"format": "int64"
},
"pull_interval": {
"type": "integer",
"format": "int64"
}
},
"title": "ServerBasic",
"required": [
"push_interval",
"pull_interval"
]
},
"ServerCommon": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
}
},
"title": "ServerCommon",
"required": [
"protocol",
"server_id",
"secret_key"
]
},
"ServerGroup": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "ServerGroup",
"required": [
"id",
"name",
"description",
"created_at",
"updated_at"
]
},
"ServerPushStatusRequest": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
},
"cpu": {
"type": "number",
"format": "double"
},
"mem": {
"type": "number",
"format": "double"
},
"disk": {
"type": "number",
"format": "double"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "ServerPushStatusRequest",
"required": [
"cpu",
"mem",
"disk",
"updated_at"
]
},
"ServerPushUserTrafficRequest": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"secret_key": {
"type": "string"
},
"traffic": {
"type": "array",
"items": {
"$ref": "#/definitions/UserTraffic"
}
}
},
"title": "ServerPushUserTrafficRequest",
"required": [
"traffic"
]
},
"ServerRuleGroup": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"icon": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"rules": {
"type": "string"
},
"enable": {
"type": "boolean",
"format": "boolean"
},
"default": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "ServerRuleGroup",
"required": [
"id",
"icon",
"name",
"type",
"tags",
"rules",
"enable",
"default",
"created_at",
"updated_at"
]
},
"ServerUser": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"uuid": {
"type": "string"
},
"speed_limit": {
"type": "integer",
"format": "int64"
},
"device_limit": {
"type": "integer",
"format": "int64"
}
},
"title": "ServerUser",
"required": [
"id",
"uuid",
"speed_limit",
"device_limit"
]
},
"Shadowsocks": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32"
},
"server_key": {
"type": "string"
}
},
"title": "Shadowsocks",
"required": [
"method",
"port",
"server_key"
]
},
"ShadowsocksProtocol": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"method": {
"type": "string"
}
},
"title": "ShadowsocksProtocol",
"required": [
"port",
"method"
]
},
"SignatureConfig": {
"type": "object",
"properties": {
"enable_signature": {
"type": "boolean",
"format": "boolean"
}
},
"title": "SignatureConfig",
"required": [
"enable_signature"
]
},
"SiteConfig": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"site_name": {
"type": "string"
},
"site_desc": {
"type": "string"
},
"site_logo": {
"type": "string"
},
"keywords": {
"type": "string"
},
"custom_html": {
"type": "string"
},
"custom_data": {
"type": "string"
}
},
"title": "SiteConfig",
"required": [
"host",
"site_name",
"site_desc",
"site_logo",
"keywords",
"custom_html",
"custom_data"
]
},
"SiteCustomDataContacts": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"telephone": {
"type": "string"
},
"address": {
"type": "string"
}
},
"title": "SiteCustomDataContacts",
"required": [
"email",
"telephone",
"address"
]
},
"SortItem": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"sort": {
"type": "integer",
"format": "int64"
}
},
"title": "SortItem",
"required": [
"id",
"sort"
]
},
"StripePayment": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"publishable_key": {
"type": "string"
}
},
"title": "StripePayment",
"required": [
"method",
"client_secret",
"publishable_key"
]
},
"Subscribe": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"language": {
"type": "string"
},
"description": {
"type": "string"
},
"unit_price": {
"type": "integer",
"format": "int64"
},
"unit_time": {
"type": "string"
},
"discount": {
"type": "array",
"items": {
"$ref": "#/definitions/SubscribeDiscount"
}
},
"node_count": {
"type": "integer",
"format": "int64"
},
"replacement": {
"type": "integer",
"format": "int64"
},
"inventory": {
"type": "integer",
"format": "int64"
},
"traffic": {
"type": "integer",
"format": "int64"
},
"speed_limit": {
"type": "integer",
"format": "int64"
},
"device_limit": {
"type": "integer",
"format": "int64"
},
"quota": {
"type": "integer",
"format": "int64"
},
"nodes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"node_tags": {
"type": "array",
"items": {
"type": "string"
}
},
"show": {
"type": "boolean",
"format": "boolean"
},
"sell": {
"type": "boolean",
"format": "boolean"
},
"sort": {
"type": "integer",
"format": "int64"
},
"deduction_ratio": {
"type": "integer",
"format": "int64"
},
"allow_deduction": {
"type": "boolean",
"format": "boolean"
},
"reset_cycle": {
"type": "integer",
"format": "int64"
},
"renewal_reset": {
"type": "boolean",
"format": "boolean"
},
"show_original_price": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Subscribe",
"required": [
"id",
"name",
"language",
"description",
"unit_price",
"unit_time",
"discount",
"node_count",
"replacement",
"inventory",
"traffic",
"speed_limit",
"device_limit",
"quota",
"nodes",
"node_tags",
"show",
"sell",
"sort",
"deduction_ratio",
"allow_deduction",
"reset_cycle",
"renewal_reset",
"show_original_price",
"created_at",
"updated_at"
]
},
"SubscribeConfig": {
"type": "object",
"properties": {
"single_model": {
"type": "boolean",
"format": "boolean"
},
"subscribe_path": {
"type": "string"
},
"subscribe_domain": {
"type": "string"
},
"pan_domain": {
"type": "boolean",
"format": "boolean"
},
"user_agent_limit": {
"type": "boolean",
"format": "boolean"
},
"user_agent_list": {
"type": "string"
}
},
"title": "SubscribeConfig",
"required": [
"single_model",
"subscribe_path",
"subscribe_domain",
"pan_domain",
"user_agent_limit",
"user_agent_list"
]
},
"SubscribeDiscount": {
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"format": "int64"
},
"discount": {
"type": "number",
"format": "double"
}
},
"title": "SubscribeDiscount",
"required": [
"quantity",
"discount"
]
},
"SubscribeGroup": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "SubscribeGroup",
"required": [
"id",
"name",
"description",
"created_at",
"updated_at"
]
},
"SubscribeType": {
"type": "object",
"properties": {
"subscribe_types": {
"type": "array",
"items": {
"type": "string"
}
}
},
"title": "SubscribeType",
"required": [
"subscribe_types"
]
},
"TelegramConfig": {
"type": "object",
"properties": {
"telegram_bot_token": {
"type": "string"
},
"telegram_group_url": {
"type": "string"
},
"telegram_notify": {
"type": "boolean",
"format": "boolean"
},
"telegram_web_hook_domain": {
"type": "string"
}
},
"title": "TelegramConfig",
"required": [
"telegram_bot_token",
"telegram_group_url",
"telegram_notify",
"telegram_web_hook_domain"
]
},
"Ticket": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"follow": {
"type": "array",
"items": {
"$ref": "#/definitions/Follow"
}
},
"status": {
"type": "integer",
"format": "uint8"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "Ticket",
"required": [
"id",
"title",
"description",
"user_id",
"status",
"created_at",
"updated_at"
]
},
"TimePeriod": {
"type": "object",
"properties": {
"start_time": {
"type": "string"
},
"end_time": {
"type": "string"
},
"multiplier": {
"type": "number",
"format": "float"
}
},
"title": "TimePeriod",
"required": [
"start_time",
"end_time",
"multiplier"
]
},
"TosConfig": {
"type": "object",
"properties": {
"tos_content": {
"type": "string"
}
},
"title": "TosConfig",
"required": [
"tos_content"
]
},
"TrafficLog": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"server_id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"download": {
"type": "integer",
"format": "int64"
},
"upload": {
"type": "integer",
"format": "int64"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "TrafficLog",
"required": [
"id",
"server_id",
"user_id",
"subscribe_id",
"download",
"upload",
"timestamp"
]
},
"TransportConfig": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"host": {
"type": "string"
},
"service_name": {
"type": "string"
}
},
"title": "TransportConfig",
"required": [
"path",
"host",
"service_name"
]
},
"Trojan": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"transport": {
"type": "string"
},
"transport_config": {
"$ref": "#/definitions/TransportConfig"
},
"security": {
"type": "string"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "Trojan",
"required": [
"port",
"transport",
"transport_config",
"security",
"security_config"
]
},
"TrojanProtocol": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32"
},
"enable_tls": {
"type": "boolean",
"format": "boolean"
},
"tls_config": {
"type": "string"
},
"network": {
"type": "string"
},
"transport": {
"type": "string"
}
},
"title": "TrojanProtocol",
"required": [
"host",
"port",
"enable_tls",
"tls_config",
"network",
"transport"
]
},
"Tuic": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"disable_sni": {
"type": "boolean",
"format": "boolean"
},
"reduce_rtt": {
"type": "boolean",
"format": "boolean"
},
"udp_relay_mode": {
"type": "string"
},
"congestion_controller": {
"type": "string"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "Tuic",
"required": [
"port",
"disable_sni",
"reduce_rtt",
"udp_relay_mode",
"congestion_controller",
"security_config"
]
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"avatar": {
"type": "string"
},
"balance": {
"type": "integer",
"format": "int64"
},
"commission": {
"type": "integer",
"format": "int64"
},
"referral_percentage": {
"type": "integer",
"format": "uint8"
},
"only_first_purchase": {
"type": "boolean",
"format": "boolean"
},
"gift_amount": {
"type": "integer",
"format": "int64"
},
"telegram": {
"type": "integer",
"format": "int64"
},
"refer_code": {
"type": "string"
},
"referer_id": {
"type": "integer",
"format": "int64"
},
"share_link": {
"type": "string"
},
"enable": {
"type": "boolean",
"format": "boolean"
},
"is_admin": {
"type": "boolean",
"format": "boolean"
},
"enable_balance_notify": {
"type": "boolean",
"format": "boolean"
},
"enable_login_notify": {
"type": "boolean",
"format": "boolean"
},
"enable_subscribe_notify": {
"type": "boolean",
"format": "boolean"
},
"enable_trade_notify": {
"type": "boolean",
"format": "boolean"
},
"auth_methods": {
"type": "array",
"items": {
"$ref": "#/definitions/UserAuthMethod"
}
},
"user_devices": {
"type": "array",
"items": {
"$ref": "#/definitions/UserDevice"
}
},
"rules": {
"type": "array",
"items": {
"type": "string"
}
},
"last_login_time": {
"type": "integer",
"format": "int64"
},
"member_status": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
},
"deleted_at": {
"type": "integer",
"format": "int64"
},
"is_del": {
"type": "boolean",
"format": "boolean"
},
"remark": {
"type": "string"
},
"purchased_package": {
"type": "string"
},
"family_joined": {
"type": "boolean",
"format": "boolean"
},
"family_id": {
"type": "integer",
"format": "int64"
},
"family_role": {
"type": "integer",
"format": "uint8"
},
"family_role_name": {
"type": "string"
},
"family_owner_user_id": {
"type": "integer",
"format": "int64"
},
"family_status": {
"type": "string"
},
"family_member_count": {
"type": "integer",
"format": "int64"
},
"family_max_members": {
"type": "integer",
"format": "int64"
}
},
"title": "User",
"required": [
"id",
"avatar",
"balance",
"commission",
"referral_percentage",
"only_first_purchase",
"gift_amount",
"telegram",
"refer_code",
"referer_id",
"enable",
"enable_balance_notify",
"enable_login_notify",
"enable_subscribe_notify",
"enable_trade_notify",
"auth_methods",
"user_devices",
"rules",
"created_at",
"updated_at"
]
},
"UserAffiliate": {
"type": "object",
"properties": {
"avatar": {
"type": "string"
},
"identifier": {
"type": "string"
},
"registered_at": {
"type": "integer",
"format": "int64"
},
"enable": {
"type": "boolean",
"format": "boolean"
}
},
"title": "UserAffiliate",
"required": [
"avatar",
"identifier",
"registered_at",
"enable"
]
},
"UserAuthMethod": {
"type": "object",
"properties": {
"auth_type": {
"type": "string"
},
"auth_identifier": {
"type": "string"
},
"verified": {
"type": "boolean",
"format": "boolean"
}
},
"title": "UserAuthMethod",
"required": [
"auth_type",
"auth_identifier",
"verified"
]
},
"UserDevice": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"ip": {
"type": "string"
},
"identifier": {
"type": "string"
},
"user_agent": {
"type": "string"
},
"online": {
"type": "boolean",
"format": "boolean"
},
"enabled": {
"type": "boolean",
"format": "boolean"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "UserDevice",
"required": [
"id",
"ip",
"identifier",
"user_agent",
"online",
"enabled",
"created_at",
"updated_at"
]
},
"UserLoginLog": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"login_ip": {
"type": "string"
},
"user_agent": {
"type": "string"
},
"success": {
"type": "boolean",
"format": "boolean"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "UserLoginLog",
"required": [
"id",
"user_id",
"login_ip",
"user_agent",
"success",
"timestamp"
]
},
"UserSubscribe": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"order_id": {
"type": "integer",
"format": "int64"
},
"subscribe_id": {
"type": "integer",
"format": "int64"
},
"subscribe": {
"$ref": "#/definitions/Subscribe"
},
"start_time": {
"type": "integer",
"format": "int64"
},
"expire_time": {
"type": "integer",
"format": "int64"
},
"finished_at": {
"type": "integer",
"format": "int64"
},
"reset_time": {
"type": "integer",
"format": "int64"
},
"traffic": {
"type": "integer",
"format": "int64"
},
"download": {
"type": "integer",
"format": "int64"
},
"upload": {
"type": "integer",
"format": "int64"
},
"token": {
"type": "string"
},
"status": {
"type": "integer",
"format": "uint8"
},
"entitlement_source": {
"type": "string"
},
"entitlement_owner_user_id": {
"type": "integer",
"format": "int64"
},
"read_only": {
"type": "boolean",
"format": "boolean"
},
"is_gift": {
"type": "boolean",
"format": "boolean"
},
"short": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "integer",
"format": "int64"
}
},
"title": "UserSubscribe",
"required": [
"id",
"user_id",
"order_id",
"subscribe_id",
"subscribe",
"start_time",
"expire_time",
"finished_at",
"reset_time",
"traffic",
"download",
"upload",
"token",
"status",
"entitlement_source",
"entitlement_owner_user_id",
"read_only",
"is_gift",
"short",
"created_at",
"updated_at"
]
},
"UserSubscribeLog": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
},
"user_subscribe_id": {
"type": "integer",
"format": "int64"
},
"token": {
"type": "string"
},
"ip": {
"type": "string"
},
"user_agent": {
"type": "string"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
},
"title": "UserSubscribeLog",
"required": [
"id",
"user_id",
"user_subscribe_id",
"token",
"ip",
"user_agent",
"timestamp"
]
},
"UserTraffic": {
"type": "object",
"properties": {
"uid": {
"type": "integer",
"format": "int64"
},
"upload": {
"type": "integer",
"format": "int64"
},
"download": {
"type": "integer",
"format": "int64"
}
},
"title": "UserTraffic",
"required": [
"uid",
"upload",
"download"
]
},
"VerifyCodeConfig": {
"type": "object",
"properties": {
"verify_code_expire_time": {
"type": "integer",
"format": "int64"
},
"verify_code_limit": {
"type": "integer",
"format": "int64"
},
"verify_code_interval": {
"type": "integer",
"format": "int64"
}
},
"title": "VerifyCodeConfig",
"required": [
"verify_code_expire_time",
"verify_code_limit",
"verify_code_interval"
]
},
"VerifyConfig": {
"type": "object",
"properties": {
"turnstile_site_key": {
"type": "string"
},
"turnstile_secret": {
"type": "string"
},
"enable_login_verify": {
"type": "boolean",
"format": "boolean"
},
"enable_register_verify": {
"type": "boolean",
"format": "boolean"
},
"enable_reset_password_verify": {
"type": "boolean",
"format": "boolean"
}
},
"title": "VerifyConfig",
"required": [
"turnstile_site_key",
"turnstile_secret",
"enable_login_verify",
"enable_register_verify",
"enable_reset_password_verify"
]
},
"Vless": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"flow": {
"type": "string"
},
"transport": {
"type": "string"
},
"transport_config": {
"$ref": "#/definitions/TransportConfig"
},
"security": {
"type": "string"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "Vless",
"required": [
"port",
"flow",
"transport",
"transport_config",
"security",
"security_config"
]
},
"VlessProtocol": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32"
},
"network": {
"type": "string"
},
"transport": {
"type": "string"
},
"security": {
"type": "string"
},
"security_config": {
"type": "string"
},
"xtls": {
"type": "string"
}
},
"title": "VlessProtocol",
"required": [
"host",
"port",
"network",
"transport",
"security",
"security_config",
"xtls"
]
},
"Vmess": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"format": "int32"
},
"transport": {
"type": "string"
},
"transport_config": {
"$ref": "#/definitions/TransportConfig"
},
"security": {
"type": "string"
},
"security_config": {
"$ref": "#/definitions/SecurityConfig"
}
},
"title": "Vmess",
"required": [
"port",
"transport",
"transport_config",
"security",
"security_config"
]
},
"VmessProtocol": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32"
},
"enable_tls": {
"type": "boolean",
"format": "boolean"
},
"tls_config": {
"type": "string"
},
"network": {
"type": "string"
},
"transport": {
"type": "string"
}
},
"title": "VmessProtocol",
"required": [
"host",
"port",
"enable_tls",
"tls_config",
"network",
"transport"
]
}
},
"securityDefinitions": {
"apiKey": {
"type": "apiKey",
"description": "Enter JWT Bearer token **_only_**",
"name": "Authorization",
"in": "header"
}
}
}