Files

47533 lines
1.4 MiB
Plaintext

{
"openapi": "3.0.0",
"paths": {
"/api/remnawave-settings": {
"get": {
"operationId": "RemnawaveSettingsController_getSettings",
"parameters": [],
"responses": {
"200": {
"description": "Remnawave settings retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRemnawaveSettingsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Remnawave settings",
"tags": [
"Remnawave Settings Controller"
]
},
"patch": {
"operationId": "RemnawaveSettingsController_updateSettings",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateRemnawaveSettingsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription settings updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateRemnawaveSettingsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update Remnawave settings",
"tags": [
"Remnawave Settings Controller"
]
}
},
"/api/passkeys/registration/options": {
"get": {
"operationId": "PasskeyController_passkeyRegistrationOptions",
"parameters": [],
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Get passkey registration options",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPasskeyRegistrationOptionsResponseDto"
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get registration options for passkey",
"tags": [
"Passkeys Controller"
]
}
},
"/api/passkeys/registration/verify": {
"post": {
"operationId": "PasskeyController_passkeyRegistrationVerify",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyPasskeyRegistrationRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Verify passkey registration result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyPasskeyRegistrationResponseDto"
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Verify registration for passkey",
"tags": [
"Passkeys Controller"
]
}
},
"/api/passkeys": {
"get": {
"operationId": "PasskeyController_getActivePasskeys",
"parameters": [],
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Get all passkeys",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllPasskeysResponseDto"
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all passkeys",
"tags": [
"Passkeys Controller"
]
},
"delete": {
"operationId": "PasskeyController_deletePasskey",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeletePasskeyRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Delete passkey result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeletePasskeyResponseDto"
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete a passkey by ID",
"tags": [
"Passkeys Controller"
]
},
"patch": {
"operationId": "PasskeyController_updatePasskey",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePasskeyRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Update passkey",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePasskeyResponseDto"
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update passkey",
"tags": [
"Passkeys Controller"
]
}
},
"/api/auth/login": {
"post": {
"operationId": "AuthController_login",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"401": {
"description": "Unauthorized - Invalid credentials",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"statusCode": {
"type": "number",
"example": 401
},
"message": {
"type": "string",
"example": "Invalid credentials"
},
"error": {
"type": "string",
"example": "Unauthorized"
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Access token for further requests",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginResponseDto"
}
}
}
}
},
"summary": "Login as superadmin",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/register": {
"post": {
"operationId": "AuthController_register",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"403": {
"description": "Forbidden - Registration is not allowed",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"statusCode": {
"type": "number",
"example": 403
},
"message": {
"type": "string",
"example": "Registration is not allowed"
},
"error": {
"type": "string",
"example": "Forbidden"
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Access token for further requests",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterResponseDto"
}
}
}
}
},
"summary": "Register as superadmin",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/status": {
"get": {
"operationId": "AuthController_getStatus",
"parameters": [],
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Status of the system",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetStatusResponseDto"
}
}
}
}
},
"summary": "Get the status of the authentication",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/oauth2/authorize": {
"post": {
"operationId": "AuthController_oauth2Authorize",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OAuth2AuthorizeRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "OAuth2 authorization URL",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OAuth2AuthorizeResponseDto"
}
}
}
}
},
"summary": "Initiate OAuth2 authorization",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/oauth2/callback": {
"post": {
"operationId": "AuthController_oauth2Callback",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OAuth2CallbackRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Access token for further requests",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OAuth2CallbackResponseDto"
}
}
}
}
},
"summary": "Callback from OAuth2",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/passkey/authentication/options": {
"get": {
"operationId": "AuthController_passkeyAuthenticationOptions",
"parameters": [],
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "Passkey authentication options",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPasskeyAuthenticationOptionsResponseDto"
}
}
}
}
},
"summary": "Get the authentication options for passkey",
"tags": [
"Auth Controller"
]
}
},
"/api/auth/passkey/authentication/verify": {
"post": {
"operationId": "AuthController_passkeyAuthenticationVerify",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyPasskeyAuthenticationRequestDto"
}
}
}
},
"responses": {
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "JWT access token after successful passkey authentication",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyPasskeyAuthenticationResponseDto"
}
}
}
}
},
"summary": "Verify the authentication for passkey",
"tags": [
"Auth Controller"
]
}
},
"/api/subscription-page-configs": {
"get": {
"operationId": "SubscriptionPageConfigController_getAllConfigs",
"parameters": [],
"responses": {
"200": {
"description": "Subscription page configs retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionPageConfigsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all subscription page configs",
"tags": [
"Subscription Page Configs Controller"
]
},
"patch": {
"operationId": "SubscriptionPageConfigController_updateConfig",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSubscriptionPageConfigRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription page config updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSubscriptionPageConfigResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update subscription page config",
"tags": [
"Subscription Page Configs Controller"
]
},
"post": {
"operationId": "SubscriptionPageConfigController_createConfig",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSubscriptionPageConfigRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription page config created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSubscriptionPageConfigResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create subscription page config",
"tags": [
"Subscription Page Configs Controller"
]
}
},
"/api/subscription-page-configs/{uuid}": {
"get": {
"operationId": "SubscriptionPageConfigController_getConfigByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Subscription page config UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription page config retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionPageConfigResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription page config by uuid",
"tags": [
"Subscription Page Configs Controller"
]
},
"delete": {
"operationId": "SubscriptionPageConfigController_deleteConfig",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Subscription page config UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription page config deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteSubscriptionPageConfigResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete subscription page config",
"tags": [
"Subscription Page Configs Controller"
]
}
},
"/api/subscription-page-configs/actions/reorder": {
"post": {
"operationId": "SubscriptionPageConfigController_reorderSubscriptionPageConfigs",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderSubscriptionPageConfigsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription page configs reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderSubscriptionPageConfigsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder subscription page configs",
"tags": [
"Subscription Page Configs Controller"
]
}
},
"/api/subscription-page-configs/actions/clone": {
"post": {
"operationId": "SubscriptionPageConfigController_cloneSubscriptionPageConfig",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloneSubscriptionPageConfigRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription page config cloned successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloneSubscriptionPageConfigResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Clone subscription page config",
"tags": [
"Subscription Page Configs Controller"
]
}
},
"/api/users": {
"post": {
"operationId": "UsersController_createUser",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "User created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create a new user",
"tags": [
"Users Controller"
]
},
"patch": {
"operationId": "UsersController_updateUser",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "User updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update a user by UUID or username",
"tags": [
"Users Controller"
]
},
"get": {
"operationId": "UsersController_getAllUsers",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Page size for pagination",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Offset for pagination",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Users fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all users",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}": {
"delete": {
"operationId": "UsersController_deleteUser",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete user",
"tags": [
"Users Controller"
]
},
"get": {
"operationId": "UsersController_getUserByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user by UUID",
"tags": [
"Users Controller"
]
}
},
"/api/users/tags": {
"get": {
"operationId": "UsersController_getAllTags",
"parameters": [],
"responses": {
"200": {
"description": "Tags fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllTagsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all existing user tags",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/accessible-nodes": {
"get": {
"operationId": "UsersController_getUserAccessibleNodes",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User accessible nodes fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserAccessibleNodesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user accessible nodes",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/subscription-request-history": {
"get": {
"operationId": "UsersController_getUserSubscriptionRequestHistory",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User subscription request history fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserSubscriptionRequestHistoryResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user subscription request history, recent 24 records",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-short-uuid/{shortUuid}": {
"get": {
"operationId": "UsersController_getUserByShortUuid",
"parameters": [
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByShortUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user by Short UUID",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-username/{username}": {
"get": {
"operationId": "UsersController_getUserByUsername",
"parameters": [
{
"name": "username",
"required": true,
"in": "path",
"description": "Username of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByUsernameResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user by username",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-id/{id}": {
"get": {
"operationId": "UsersController_getUserById",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByIdResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user by ID",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-telegram-id/{telegramId}": {
"get": {
"operationId": "UsersController_getUserByTelegramId",
"parameters": [
{
"name": "telegramId",
"required": true,
"in": "path",
"description": "Telegram ID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Users fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByTelegramIdResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get users by telegram ID",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-email/{email}": {
"get": {
"operationId": "UsersController_getUsersByEmail",
"parameters": [
{
"name": "email",
"required": true,
"in": "path",
"description": "Email of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Users fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByEmailResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get users by email",
"tags": [
"Users Controller"
]
}
},
"/api/users/by-tag/{tag}": {
"get": {
"operationId": "UsersController_getUsersByTag",
"parameters": [
{
"name": "tag",
"required": true,
"in": "path",
"description": "Tag of the user",
"schema": {
"example": "PROMO_1",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Users fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserByTagResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get users by tag",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/actions/revoke": {
"post": {
"operationId": "UsersController_revokeUserSubscription",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevokeUserSubscriptionBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "User subscription revoked successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevokeUserSubscriptionResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Revoke user subscription",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/actions/disable": {
"post": {
"operationId": "UsersController_disableUser",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User disabled successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DisableUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Disable user",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/actions/enable": {
"post": {
"operationId": "UsersController_enableUser",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User enabled successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnableUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Enable user",
"tags": [
"Users Controller"
]
}
},
"/api/users/{uuid}/actions/reset-traffic": {
"post": {
"operationId": "UsersController_resetUserTraffic",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User traffic reset successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetUserTrafficResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reset user traffic",
"tags": [
"Users Controller"
]
}
},
"/api/users/resolve": {
"post": {
"operationId": "UsersController_resolveUser",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveUserRequestBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "User resolved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveUserResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Resolve a user",
"tags": [
"Users Controller"
]
}
},
"/api/users/bulk/delete-by-status": {
"post": {
"operationId": "UsersBulkActionsController_bulkDeleteUsersByStatus",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteUsersByStatusRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteUsersByStatusResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk delete users by status",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/delete": {
"post": {
"operationId": "UsersBulkActionsController_bulkDeleteUsers",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteUsersRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk delete users by UUIDs",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/revoke-subscription": {
"post": {
"operationId": "UsersBulkActionsController_bulkRevokeUsersSubscription",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkRevokeUsersSubscriptionRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users subscription revoked successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkRevokeUsersSubscriptionResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Revoke users subscription by User UUIDs",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/reset-traffic": {
"post": {
"operationId": "UsersBulkActionsController_bulkResetUserTraffic",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkResetTrafficUsersRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users traffic reset successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkResetTrafficUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk reset traffic users by UUIDs",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/update": {
"post": {
"operationId": "UsersBulkActionsController_bulkUpdateUsers",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateUsersRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk update users by UUIDs",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/update-squads": {
"post": {
"operationId": "UsersBulkActionsController_bulkUpdateUsersInternalSquads",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateUsersSquadsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Internal squads updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateUsersSquadsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk update users internal squads by UUIDs",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/extend-expiration-date": {
"post": {
"description": "Bulk extend all users expiration date",
"operationId": "UsersBulkActionsController_bulkExtendExpirationDate",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkExtendExpirationDateRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Users expiration date extended successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkExtendExpirationDateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk Extend Users Expiration Date",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/all/update": {
"post": {
"operationId": "UsersBulkActionsController_bulkUpdateAllUsers",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAllUpdateUsersRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "All users updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAllUpdateUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk update all users",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/all/reset-traffic": {
"post": {
"description": "Bulk reset all users traffic",
"operationId": "UsersBulkActionsController_bulkAllResetUserTraffic",
"parameters": [],
"responses": {
"200": {
"description": "All users traffic reset successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAllResetTrafficUsersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk Reset All Users Traffic",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/users/bulk/all/extend-expiration-date": {
"post": {
"description": "Bulk extend all users expiration date",
"operationId": "UsersBulkActionsController_bulkAllExtendExpirationDate",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAllExtendExpirationDateRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "All users expiration date extended successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAllExtendExpirationDateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Bulk Extend All Users Expiration Date",
"tags": [
"Users Bulk Actions Controller"
]
}
},
"/api/sub/{shortUuid}/info": {
"get": {
"operationId": "SubscriptionController_getSubscriptionInfoByShortUuid",
"parameters": [
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription info fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionInfoResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"summary": "Get Subscription Info by Short UUID",
"tags": [
"[Public] Subscription Controller"
]
}
},
"/api/sub/{shortUuid}": {
"get": {
"operationId": "SubscriptionController_getSubscription",
"parameters": [
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"tags": [
"[Public] Subscription Controller"
]
}
},
"/api/sub/{shortUuid}/{clientType}": {
"get": {
"operationId": "SubscriptionController_getSubscriptionByClientType",
"parameters": [
{
"name": "clientType",
"required": true,
"in": "path",
"description": "Client type",
"schema": {
"enum": [
"stash",
"singbox",
"mihomo",
"json",
"v2ray-json",
"clash"
],
"type": "string"
}
},
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"tags": [
"[Public] Subscription Controller"
]
}
},
"/api/subscriptions": {
"get": {
"operationId": "SubscriptionsController_getAllSubscriptions",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Number of subscriptions to return, no more than 500",
"schema": {
"example": 25,
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Start index (offset) of the users to return, default is 0",
"schema": {
"example": 0,
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Users fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllSubscriptionsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all subscriptions",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/by-username/{username}": {
"get": {
"operationId": "SubscriptionsController_getSubscriptionByUsername",
"parameters": [
{
"name": "username",
"required": true,
"in": "path",
"description": "Username of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionByUsernameResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription by username",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/by-short-uuid/{shortUuid}": {
"get": {
"operationId": "SubscriptionsController_getSubscriptionByShortUuidProtected",
"parameters": [
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short uuid of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionByShortUuidProtectedResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription by short uuid (protected route)",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/by-uuid/{uuid}": {
"get": {
"operationId": "SubscriptionsController_getSubscriptionByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Uuid of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Subscription fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription by uuid",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/by-short-uuid/{shortUuid}/raw": {
"get": {
"operationId": "SubscriptionsController_getRawSubscriptionByShortUuid",
"parameters": [
{
"name": "withDisabledHosts",
"required": false,
"in": "query",
"description": "Include disabled hosts in the subscription. Default is false.",
"schema": {
"type": "boolean"
}
},
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Raw subscription fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRawSubscriptionByShortUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Raw Subscription by Short UUID",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/subpage-config/{shortUuid}": {
"get": {
"operationId": "SubscriptionsController_getSubpageConfigByShortUuid",
"parameters": [
{
"name": "shortUuid",
"required": true,
"in": "path",
"description": "Short UUID of the user",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubpageConfigByShortUuidRequestBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "Subpage config fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubpageConfigByShortUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Subpage Config by Short UUID",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscriptions/connection-keys/{uuid}": {
"get": {
"operationId": "SubscriptionsController_getConnectionKeysByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Connection keys fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConnectionKeysByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get connection keys (base64 format) by uuid",
"tags": [
"[Protected] Subscriptions Controller"
]
}
},
"/api/subscription-templates": {
"get": {
"operationId": "SubscriptionTemplateController_getAllTemplates",
"parameters": [],
"responses": {
"200": {
"description": "Templates retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTemplatesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all subscription templates (wihout content)",
"tags": [
"Subscription Template Controller"
]
},
"patch": {
"operationId": "SubscriptionTemplateController_updateTemplate",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTemplateRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Template updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTemplateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update subscription template",
"tags": [
"Subscription Template Controller"
]
},
"post": {
"operationId": "SubscriptionTemplateController_createTemplate",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSubscriptionTemplateRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Template created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSubscriptionTemplateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create subscription template",
"tags": [
"Subscription Template Controller"
]
}
},
"/api/subscription-templates/{uuid}": {
"get": {
"operationId": "SubscriptionTemplateController_getTemplateByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Template UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Template retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTemplateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription template by uuid",
"tags": [
"Subscription Template Controller"
]
},
"delete": {
"operationId": "SubscriptionTemplateController_deleteTemplate",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Template UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Template deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteSubscriptionTemplateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete subscription template",
"tags": [
"Subscription Template Controller"
]
}
},
"/api/subscription-templates/actions/reorder": {
"post": {
"operationId": "SubscriptionTemplateController_reorderSubscriptionTemplates",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderSubscriptionTemplatesRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription templates reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderSubscriptionTemplatesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder subscription templates",
"tags": [
"Subscription Template Controller"
]
}
},
"/api/tokens": {
"post": {
"description": "This endpoint is forbidden to use via \"API-key\". It can only be used with an admin JWT-token.",
"operationId": "ApiTokensController_create",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateApiTokenRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Token created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateApiTokenResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create a new API token",
"tags": [
"API Tokens Controller"
]
},
"get": {
"description": "This endpoint is forbidden to use via \"API-key\". It can only be used with admin JWT-token.",
"operationId": "ApiTokensController_findAll",
"parameters": [],
"responses": {
"200": {
"description": "Tokens fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FindAllApiTokensResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all API tokens",
"tags": [
"API Tokens Controller"
]
}
},
"/api/tokens/{uuid}": {
"delete": {
"description": "This endpoint is forbidden to use via \"API-key\". It can be used only with an admin JWT-token.",
"operationId": "ApiTokensController_delete",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the API token",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Token deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteApiTokenResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete an API token by UUID",
"tags": [
"API Tokens Controller"
]
}
},
"/api/config-profiles": {
"get": {
"operationId": "ConfigProfileController_getConfigProfiles",
"parameters": [],
"responses": {
"200": {
"description": "Config profiles retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConfigProfilesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get config profiles",
"tags": [
"Config Profiles Controller"
]
},
"post": {
"operationId": "ConfigProfileController_createConfigProfile",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateConfigProfileRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Config profile created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateConfigProfileResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"409": {
"description": "Config profile name already exists or inbound tags are not unique. Inbound tags must be unique in global scope."
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create config profile",
"tags": [
"Config Profiles Controller"
]
},
"patch": {
"operationId": "ConfigProfileController_updateConfigProfile",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateConfigProfileRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Config profile updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateConfigProfileResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Config profile not found"
},
"409": {
"description": "Config profile name already exists or inbound tags are not unique. Inbound tags must be unique in global scope."
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update Core Config in specific config profile",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/config-profiles/inbounds": {
"get": {
"operationId": "ConfigProfileController_getAllInbounds",
"parameters": [],
"responses": {
"200": {
"description": "Inbounds retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllInboundsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all inbounds from all config profiles",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/config-profiles/{uuid}/inbounds": {
"get": {
"operationId": "ConfigProfileController_getInboundsByProfileUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Inbounds retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInboundsByProfileUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Config profile not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get inbounds by profile uuid",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/config-profiles/{uuid}": {
"get": {
"operationId": "ConfigProfileController_getConfigProfileByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Config profile retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConfigProfileByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Config profile not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get config profile by uuid",
"tags": [
"Config Profiles Controller"
]
},
"delete": {
"operationId": "ConfigProfileController_deleteConfigProfileByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Config profile deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteConfigProfileResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Config profile not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete config profile",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/config-profiles/{uuid}/computed-config": {
"get": {
"operationId": "ConfigProfileController_getComputedConfigProfileByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Computed config profile retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetComputedConfigProfileByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Config profile not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get computed config profile by uuid",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/config-profiles/actions/reorder": {
"post": {
"operationId": "ConfigProfileController_reorderConfigProfiles",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderConfigProfilesRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Config profiles reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderConfigProfilesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder config profiles",
"tags": [
"Config Profiles Controller"
]
}
},
"/api/snippets": {
"get": {
"operationId": "SnippetsController_getSnippets",
"parameters": [],
"responses": {
"200": {
"description": "Snippets retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSnippetsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get snippets",
"tags": [
"Snippets Controller"
]
},
"delete": {
"operationId": "SnippetsController_deleteSnippetByName",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteSnippetRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Snippet deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteSnippetResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Snippet not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete snippet",
"tags": [
"Snippets Controller"
]
},
"post": {
"operationId": "SnippetsController_createSnippet",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSnippetRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Snippet created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSnippetResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"409": {
"description": "Snippet name already exists."
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create snippet",
"tags": [
"Snippets Controller"
]
},
"patch": {
"operationId": "SnippetsController_updateSnippet",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSnippetRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Snippet updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSnippetResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Snippet not found"
},
"409": {
"description": "Snippet name already exists."
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update snippet",
"tags": [
"Snippets Controller"
]
}
},
"/api/internal-squads": {
"get": {
"operationId": "InternalSquadController_getInternalSquads",
"parameters": [],
"responses": {
"200": {
"description": "Internal squads retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInternalSquadsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all internal squads",
"tags": [
"Internal Squads Controller"
]
},
"post": {
"operationId": "InternalSquadController_createInternalSquad",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInternalSquadRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Internal squad created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"409": {
"description": "Internal squad already exists"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create internal squad",
"tags": [
"Internal Squads Controller"
]
},
"patch": {
"operationId": "InternalSquadController_updateInternalSquad",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInternalSquadRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Internal squad updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Internal squad not found"
},
"409": {
"description": "Internal squad already exists"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update internal squad",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/internal-squads/{uuid}": {
"get": {
"operationId": "InternalSquadController_getInternalSquadByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Internal squad retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInternalSquadByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get internal squad by uuid",
"tags": [
"Internal Squads Controller"
]
},
"delete": {
"operationId": "InternalSquadController_deleteInternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Internal squad deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteInternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Internal squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete internal squad",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/internal-squads/{uuid}/accessible-nodes": {
"get": {
"operationId": "InternalSquadController_getInternalSquadAccessibleNodes",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the internal squad",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Internal squad accessible nodes fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInternalSquadAccessibleNodesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Internal squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get internal squad accessible nodes",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/internal-squads/{uuid}/bulk-actions/add-users": {
"post": {
"operationId": "InternalSquadController_addUsersToInternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Task added to internal job queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddUsersToInternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Internal squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Add all users to internal squad",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/internal-squads/{uuid}/bulk-actions/remove-users": {
"delete": {
"operationId": "InternalSquadController_removeUsersFromInternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Task added to internal job queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RemoveUsersFromInternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Internal squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete users from internal squad",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/internal-squads/actions/reorder": {
"post": {
"operationId": "InternalSquadController_reorderInternalSquads",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderInternalSquadsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Internal squads reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderInternalSquadsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder internal squads",
"tags": [
"Internal Squads Controller"
]
}
},
"/api/external-squads": {
"get": {
"operationId": "ExternalSquadController_getExternalSquads",
"parameters": [],
"responses": {
"200": {
"description": "External squads retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetExternalSquadsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all external squads",
"tags": [
"External Squads Controller"
]
},
"post": {
"operationId": "ExternalSquadController_createExternalSquad",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateExternalSquadRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "External squad created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateExternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"409": {
"description": "External squad already exists"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create external squad",
"tags": [
"External Squads Controller"
]
},
"patch": {
"operationId": "ExternalSquadController_updateExternalSquad",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateExternalSquadRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "External squad updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateExternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "External squad not found"
},
"409": {
"description": "External squad already exists"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update external squad",
"tags": [
"External Squads Controller"
]
}
},
"/api/external-squads/{uuid}": {
"get": {
"operationId": "ExternalSquadController_getExternalSquadByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "External squad retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetExternalSquadByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get external squad by uuid",
"tags": [
"External Squads Controller"
]
},
"delete": {
"operationId": "ExternalSquadController_deleteExternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "External squad deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteExternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "External squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete external squad",
"tags": [
"External Squads Controller"
]
}
},
"/api/external-squads/{uuid}/bulk-actions/add-users": {
"post": {
"operationId": "ExternalSquadController_addUsersToExternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Task added to external job queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddUsersToExternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "External squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Add all users to external squad",
"tags": [
"External Squads Controller"
]
}
},
"/api/external-squads/{uuid}/bulk-actions/remove-users": {
"delete": {
"operationId": "ExternalSquadController_removeUsersFromExternalSquad",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Task added to external job queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RemoveUsersFromExternalSquadResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "External squad not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete users from external squad",
"tags": [
"External Squads Controller"
]
}
},
"/api/external-squads/actions/reorder": {
"post": {
"operationId": "ExternalSquadController_reorderExternalSquads",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderExternalSquadsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "External squads reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderExternalSquadsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder external squads",
"tags": [
"External Squads Controller"
]
}
},
"/api/keygen": {
"get": {
"operationId": "KeygenController_generateKey",
"parameters": [],
"responses": {
"200": {
"description": "Get SECRET_KEY for Remnawave Node",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPubKeyResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get SECRET_KEY for Remnawave Node",
"tags": [
"Keygen Controller"
]
}
},
"/api/nodes/tags": {
"get": {
"operationId": "NodesController_getAllNodesTags",
"parameters": [],
"responses": {
"200": {
"description": "Nodes tags fetched",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllNodesTagsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all existing nodes tags",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes": {
"post": {
"operationId": "NodesController_createNode",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateNodeRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Node created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create a new node",
"tags": [
"Nodes Controller"
]
},
"get": {
"operationId": "NodesController_getAllNodes",
"parameters": [],
"responses": {
"200": {
"description": "Nodes fetched",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllNodesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all nodes",
"tags": [
"Nodes Controller"
]
},
"patch": {
"operationId": "NodesController_updateNode",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateNodeRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update node",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/{uuid}": {
"get": {
"operationId": "NodesController_getOneNode",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node fetched",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOneNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get node by UUID",
"tags": [
"Nodes Controller"
]
},
"delete": {
"operationId": "NodesController_deleteNode",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete a node",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/{uuid}/actions/enable": {
"post": {
"operationId": "NodesController_enableNode",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node enabled",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnableNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Enable a node",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/{uuid}/actions/disable": {
"post": {
"operationId": "NodesController_disableNode",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node disabled",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DisableNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Disable a node",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/{uuid}/actions/restart": {
"post": {
"operationId": "NodesController_restartNode",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node restarted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestartNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Restart node",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/{uuid}/actions/reset-traffic": {
"post": {
"operationId": "NodesController_resetNodeTraffic",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Event sent",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetNodeTrafficResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reset Node Traffic",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/actions/restart-all": {
"post": {
"operationId": "NodesController_restartAllNodes",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestartAllNodesRequestBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "All nodes restarted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestartAllNodesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Restart all nodes",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/actions/reorder": {
"post": {
"operationId": "NodesController_reorderNodes",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderNodeRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Nodes reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder nodes",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/bulk-actions/profile-modification": {
"post": {
"operationId": "NodesController_profileModification",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProfileModificationRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Event sent successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProfileModificationResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Modify Inbounds & Profile for many nodes",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/bulk-actions": {
"post": {
"operationId": "NodesController_bulkNodesActions",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkNodesActionsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Event sent successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkNodesActionsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Perform actions for many nodes",
"tags": [
"Nodes Controller"
]
}
},
"/api/nodes/bulk-actions/update": {
"post": {
"operationId": "NodesController_bulkNodesUpdate",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkNodesUpdateRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Event sent successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkNodesUpdateResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update many nodes",
"tags": [
"Nodes Controller"
]
}
},
"/api/node-plugins/torrent-blocker": {
"get": {
"operationId": "TorrentBlockerReportsController_getTorrentBlockerReports",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Page size for pagination",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Offset for pagination",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Torrent blocker reports fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTorrentBlockerReportsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Torrent Blocker Reports",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/torrent-blocker/stats": {
"get": {
"operationId": "TorrentBlockerReportsController_getTorrentBlockerReportsStats",
"parameters": [],
"responses": {
"200": {
"description": "Torrent blocker reports stats fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTorrentBlockerReportsStatsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Torrent Blocker Reports Stats",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/torrent-blocker/truncate": {
"delete": {
"operationId": "TorrentBlockerReportsController_truncateTorrentBlockerReports",
"parameters": [],
"responses": {
"200": {
"description": "Torrent blocker reports truncated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TruncateTorrentBlockerReportsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Truncate Torrent Blocker Reports",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins": {
"get": {
"operationId": "NodePluginController_getAllConfigs",
"parameters": [],
"responses": {
"200": {
"description": "Node plugins retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetNodePluginsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all Node Plugins",
"tags": [
"Node Plugins Controller"
]
},
"patch": {
"operationId": "NodePluginController_updateConfig",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateNodePluginRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node plugin updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateNodePluginResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update Node Plugin",
"tags": [
"Node Plugins Controller"
]
},
"post": {
"operationId": "NodePluginController_createConfig",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateNodePluginRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node plugin created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateNodePluginResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create Node Plugin",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/{uuid}": {
"get": {
"operationId": "NodePluginController_getConfigByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node plugin UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node plugin retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetNodePluginResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Node Plugin by uuid",
"tags": [
"Node Plugins Controller"
]
},
"delete": {
"operationId": "NodePluginController_deleteConfig",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "Node plugin UUID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node plugin deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteNodePluginResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete Node Plugin",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/actions/reorder": {
"post": {
"operationId": "NodePluginController_reorderNodePlugins",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderNodePluginsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node plugins reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderNodePluginsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder Node Plugins",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/actions/clone": {
"post": {
"operationId": "NodePluginController_cloneNodePlugin",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloneNodePluginRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node plugin cloned successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloneNodePluginResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Clone Node Plugin",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/node-plugins/executor": {
"post": {
"operationId": "NodePluginController_pluginExecutor",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginExecutorRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Node plugin cloned successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginExecutorResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Execute command on node plugins",
"tags": [
"Node Plugins Controller"
]
}
},
"/api/hosts/tags": {
"get": {
"operationId": "HostsController_getAllHostTags",
"parameters": [],
"responses": {
"200": {
"description": "Host tags fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllHostTagsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all existing host tags",
"tags": [
"Hosts Controller"
]
}
},
"/api/hosts": {
"post": {
"operationId": "HostsController_createHost",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateHostRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Host created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateHostResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create a new host",
"tags": [
"Hosts Controller"
]
},
"patch": {
"operationId": "HostsController_updateHost",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateHostRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Host updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateHostResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update a host",
"tags": [
"Hosts Controller"
]
},
"get": {
"operationId": "HostsController_getAllHosts",
"parameters": [],
"responses": {
"200": {
"description": "Hosts fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all hosts",
"tags": [
"Hosts Controller"
]
}
},
"/api/hosts/{uuid}": {
"get": {
"operationId": "HostsController_getOneHost",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the host",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Host fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOneHostResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get a host by UUID",
"tags": [
"Hosts Controller"
]
},
"delete": {
"operationId": "HostsController_deleteHost",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the host",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Host deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteHostResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Host not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete a host by UUID",
"tags": [
"Hosts Controller"
]
}
},
"/api/hosts/actions/reorder": {
"post": {
"operationId": "HostsController_reorderHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderHostRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts reordered successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReorderHostResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Reorder hosts",
"tags": [
"Hosts Controller"
]
}
},
"/api/hosts/bulk/delete": {
"post": {
"operationId": "HostsBulkActionsController_deleteHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteHostsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDeleteHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete hosts by UUIDs",
"tags": [
"Hosts Bulk Actions Controller"
]
}
},
"/api/hosts/bulk/disable": {
"post": {
"operationId": "HostsBulkActionsController_disableHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDisableHostsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts disabled successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDisableHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Disable hosts by UUIDs",
"tags": [
"Hosts Bulk Actions Controller"
]
}
},
"/api/hosts/bulk/enable": {
"post": {
"operationId": "HostsBulkActionsController_enableHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkEnableHostsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts enabled successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkEnableHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Enable hosts by UUIDs",
"tags": [
"Hosts Bulk Actions Controller"
]
}
},
"/api/hosts/bulk/set-inbound": {
"post": {
"operationId": "HostsBulkActionsController_setInboundToHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetInboundToManyHostsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts inbound set successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetInboundToManyHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Set inbound to hosts by UUIDs",
"tags": [
"Hosts Bulk Actions Controller"
]
}
},
"/api/hosts/bulk/set-port": {
"post": {
"operationId": "HostsBulkActionsController_setPortToHosts",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetPortToManyHostsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Hosts port set successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetPortToManyHostsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Set port to hosts by UUIDs",
"tags": [
"Hosts Bulk Actions Controller"
]
}
},
"/api/bandwidth-stats/nodes/{uuid}/users/legacy": {
"get": {
"operationId": "BandwidthStatsNodesController_getNodeUserUsage",
"parameters": [
{
"name": "start",
"required": true,
"in": "query",
"description": "Start date",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "end",
"required": true,
"in": "query",
"description": "End date",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the node",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Nodes users usage by range (legacy) fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetLegacyStatsNodesUsersUsageResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Node User Usage by Range and Node UUID (Legacy)",
"tags": [
"Bandwidth Stats Controller"
]
}
},
"/api/bandwidth-stats/nodes/{uuid}/users": {
"get": {
"operationId": "BandwidthStatsNodesController_getStatsNodeUsersUsage",
"parameters": [
{
"name": "topUsersLimit",
"required": true,
"in": "query",
"description": "Limit of top users to return",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": true,
"in": "query",
"description": "Start date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-31",
"type": "string"
}
},
{
"name": "end",
"required": true,
"in": "query",
"description": "End date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-01",
"type": "string"
}
},
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the node",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Stats node users usage fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetStatsNodeUsersUsageResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Node Users Usage by Node UUID",
"tags": [
"Bandwidth Stats Controller"
]
}
},
"/api/bandwidth-stats/users/{uuid}/legacy": {
"get": {
"operationId": "BandwidthStatsUsersController_getUserUsageByRange",
"parameters": [
{
"name": "start",
"required": true,
"in": "query",
"description": "Start date",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "end",
"required": true,
"in": "query",
"description": "End date",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User usage by range (legacy) fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetLegacyStatsUserUsageResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get User Usage by Range (Legacy)",
"tags": [
"Bandwidth Stats Controller"
]
}
},
"/api/bandwidth-stats/users/{uuid}": {
"get": {
"operationId": "BandwidthStatsUsersController_getStatsNodesUsage",
"parameters": [
{
"name": "topNodesLimit",
"required": true,
"in": "query",
"description": "Limit of top nodes to return",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": true,
"in": "query",
"description": "Start date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-31",
"type": "string"
}
},
{
"name": "end",
"required": true,
"in": "query",
"description": "End date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-01",
"type": "string"
}
},
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Stats user usage fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetStatsUserUsageResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get User Usage by Range",
"tags": [
"Bandwidth Stats Controller"
]
}
},
"/api/hwid/devices": {
"get": {
"operationId": "HwidUserDevicesController_getAllUsers",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Page size for pagination",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Offset for pagination",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Hwid devices fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllHwidDevicesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all HWID devices",
"tags": [
"HWID User Devices Controller"
]
},
"post": {
"operationId": "HwidUserDevicesController_createUserHwidDevice",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserHwidDeviceRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "User HWID device created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserHwidDeviceResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "One of requested resources not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create a user HWID device",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/hwid/devices/delete": {
"post": {
"operationId": "HwidUserDevicesController_deleteUserHwidDevice",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteUserHwidDeviceRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "User HWID device deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteUserHwidDeviceResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "One of requested resources not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete a user HWID device",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/hwid/devices/delete-all": {
"post": {
"operationId": "HwidUserDevicesController_deleteAllUserHwidDevices",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteAllUserHwidDevicesRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "User HWID devices deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteAllUserHwidDevicesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "One of requested resources not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete all user HWID devices",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/hwid/devices/stats": {
"get": {
"operationId": "HwidUserDevicesController_getHwidDevicesStats",
"parameters": [],
"responses": {
"200": {
"description": "Hwid devices stats fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetHwidDevicesStatsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get HWID devices stats",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/hwid/devices/top-users": {
"get": {
"operationId": "HwidUserDevicesController_getTopUsersByHwidDevices",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Page size for pagination",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Offset for pagination",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Top users by HWID devices fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTopUsersByHwidDevicesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get top users by HWID devices",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/hwid/devices/{userUuid}": {
"get": {
"operationId": "HwidUserDevicesController_getUserHwidDevices",
"parameters": [
{
"name": "userUuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User HWID devices fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserHwidDevicesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "One of requested resources not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user HWID devices",
"tags": [
"HWID User Devices Controller"
]
}
},
"/api/bandwidth-stats/nodes": {
"get": {
"operationId": "NodesUsageHistoryController_getStatsNodesUsage",
"parameters": [
{
"name": "topNodesLimit",
"required": true,
"in": "query",
"description": "Limit of top nodes to return",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": true,
"in": "query",
"description": "Start date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-31",
"type": "string"
}
},
{
"name": "end",
"required": true,
"in": "query",
"description": "End date (YYYY-MM-DD)",
"schema": {
"format": "date",
"example": "2026-01-01",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Stats nodes usage fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetStatsNodesUsageResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Nodes Usage by Range",
"tags": [
"Bandwidth Stats Controller"
]
}
},
"/api/infra-billing/providers": {
"get": {
"operationId": "InfraBillingController_getInfraProviders",
"parameters": [],
"responses": {
"200": {
"description": "Infra providers retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInfraProvidersResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all infra providers",
"tags": [
"Infra Billing Controller"
]
},
"post": {
"operationId": "InfraBillingController_createInfraProvider",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraProviderRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Infra provider created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraProviderResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create infra provider",
"tags": [
"Infra Billing Controller"
]
},
"patch": {
"operationId": "InfraBillingController_updateInfraProvider",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInfraProviderRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Infra provider updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInfraProviderResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update infra provider",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/infra-billing/providers/{uuid}": {
"get": {
"operationId": "InfraBillingController_getInfraProviderByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Infra provider retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInfraProviderByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Infra provider not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get infra provider by uuid",
"tags": [
"Infra Billing Controller"
]
},
"delete": {
"operationId": "InfraBillingController_deleteInfraProviderByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Infra provider deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteInfraProviderByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete infra provider by uuid",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/infra-billing/history": {
"post": {
"operationId": "InfraBillingController_createInfraBillingHistoryRecord",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraBillingHistoryRecordRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Infra billing history record created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraBillingHistoryRecordResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create infra billing history",
"tags": [
"Infra Billing Controller"
]
},
"get": {
"operationId": "InfraBillingController_getInfraBillingHistoryRecords",
"parameters": [],
"responses": {
"200": {
"description": "Infra billing history records retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInfraBillingHistoryRecordsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get infra billing history",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/infra-billing/history/{uuid}": {
"delete": {
"operationId": "InfraBillingController_deleteInfraBillingHistoryRecordByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Infra billing history record deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteInfraBillingHistoryRecordByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete infra billing history",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/infra-billing/nodes": {
"get": {
"operationId": "InfraBillingController_getBillingNodes",
"parameters": [],
"responses": {
"200": {
"description": "Infra billing nodes retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetInfraBillingNodesResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get infra billing nodes",
"tags": [
"Infra Billing Controller"
]
},
"patch": {
"operationId": "InfraBillingController_updateInfraBillingNode",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInfraBillingNodeRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Infra billing node updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateInfraBillingNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update infra billing nodes",
"tags": [
"Infra Billing Controller"
]
},
"post": {
"operationId": "InfraBillingController_createInfraBillingNode",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraBillingNodeRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Infra billing node created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInfraBillingNodeResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Create infra billing node",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/infra-billing/nodes/{uuid}": {
"delete": {
"operationId": "InfraBillingController_deleteInfraBillingNodeByUuid",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Infra billing node deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteInfraBillingNodeByUuidResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Delete infra billing node",
"tags": [
"Infra Billing Controller"
]
}
},
"/api/subscription-request-history": {
"get": {
"operationId": "UserSubscriptionRequestHistoryController_getSubscriptionRequestHistory",
"parameters": [
{
"name": "size",
"required": false,
"in": "query",
"description": "Page size for pagination",
"schema": {
"type": "number"
}
},
{
"name": "start",
"required": false,
"in": "query",
"description": "Offset for pagination",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "Subscription request history fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionRequestHistoryResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get all subscription request history",
"tags": [
"Subscription Request History Controller"
]
}
},
"/api/subscription-request-history/stats": {
"get": {
"operationId": "UserSubscriptionRequestHistoryController_getSubscriptionRequestHistoryStats",
"parameters": [],
"responses": {
"200": {
"description": "User subscription request history stats fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionRequestHistoryStatsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription request history stats",
"tags": [
"Subscription Request History Controller"
]
}
},
"/api/system/metadata": {
"get": {
"operationId": "SystemController_getMetadata",
"parameters": [],
"responses": {
"200": {
"description": "Returns system metadata",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetMetadataResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Remnawave Information",
"tags": [
"System Controller"
]
}
},
"/api/system/stats": {
"get": {
"operationId": "SystemController_getStats",
"parameters": [],
"responses": {
"200": {
"description": "Returns system statistics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetStatsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Stats",
"tags": [
"System Controller"
]
}
},
"/api/system/stats/bandwidth": {
"get": {
"operationId": "SystemController_getBandwidthStats",
"parameters": [],
"responses": {
"200": {
"description": "Returns bandwidth statistics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetBandwidthStatsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Bandwidth Stats",
"tags": [
"System Controller"
]
}
},
"/api/system/stats/nodes": {
"get": {
"operationId": "SystemController_getNodesStatistics",
"parameters": [],
"responses": {
"200": {
"description": "Returns nodes statistics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetNodesStatisticsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Nodes Statistics",
"tags": [
"System Controller"
]
}
},
"/api/system/health": {
"get": {
"operationId": "SystemController_getRemnawaveHealth",
"parameters": [],
"responses": {
"200": {
"description": "Returns Remnawave health",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRemnawaveHealthResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Remnawave Health",
"tags": [
"System Controller"
]
}
},
"/api/system/nodes/metrics": {
"get": {
"operationId": "SystemController_getNodesMetrics",
"parameters": [],
"responses": {
"200": {
"description": "Returns nodes metrics from Prometheus metrics endpoint",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetNodesMetricsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Nodes Metrics",
"tags": [
"System Controller"
]
}
},
"/api/system/tools/x25519/generate": {
"get": {
"operationId": "SystemController_getX25519Keypairs",
"parameters": [],
"responses": {
"200": {
"description": "Returns x25519 keypairs",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerateX25519ResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Generate 30 X25519 keypairs",
"tags": [
"System Controller"
]
}
},
"/api/system/tools/happ/encrypt": {
"post": {
"operationId": "SystemController_encryptHappCryptoLink",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EncryptHappCryptoLinkRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Returns encrypted Happ crypto link",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EncryptHappCryptoLinkResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Encrypt Happ Crypto Link",
"tags": [
"System Controller"
]
}
},
"/api/system/testers/srr-matcher": {
"post": {
"operationId": "SystemController_debugSrrMatcher",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DebugSrrMatcherRequestDto"
}
}
}
},
"responses": {
"201": {
"description": "Debug SRR matcher information",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DebugSrrMatcherResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Test SRR Matcher",
"tags": [
"System Controller"
]
}
},
"/api/system/stats/recap": {
"get": {
"operationId": "SystemController_getRecap",
"parameters": [],
"responses": {
"200": {
"description": "Returns system recap",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRecapResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Recap",
"tags": [
"System Controller"
]
}
},
"/api/subscription-settings": {
"get": {
"operationId": "SubscriptionSettingsController_getSettings",
"parameters": [],
"responses": {
"200": {
"description": "Subscription settings retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSubscriptionSettingsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get subscription settings",
"tags": [
"Subscription Settings Controller"
]
},
"patch": {
"operationId": "SubscriptionSettingsController_updateSettings",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSubscriptionSettingsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Subscription settings updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSubscriptionSettingsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update subscription settings",
"tags": [
"Subscription Settings Controller"
]
}
},
"/api/ip-control/fetch-ips/{uuid}": {
"post": {
"operationId": "IpControlController_fetchUserIps",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return jobId for further processing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FetchIpsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Request IP List for User",
"tags": [
"IP Management Controller"
]
}
},
"/api/ip-control/fetch-ips/result/{jobId}": {
"get": {
"operationId": "IpControlController_getFetchIpsResult",
"parameters": [
{
"name": "jobId",
"required": true,
"in": "path",
"description": "Job ID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return result or status of the job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FetchIpsResultResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Job not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get IP List Result by Job ID",
"tags": [
"IP Management Controller"
]
}
},
"/api/ip-control/drop-connections": {
"post": {
"operationId": "IpControlController_dropConnections",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DropConnectionsRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Event sent to background executor",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DropConnectionsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found // Connected nodes not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Drop Connections for Users or IPs",
"tags": [
"IP Management Controller"
]
}
},
"/api/ip-control/fetch-users-ips/{nodeUuid}": {
"post": {
"operationId": "IpControlController_fetchUsersIps",
"parameters": [
{
"name": "nodeUuid",
"required": true,
"in": "path",
"description": "UUID of the node",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return jobId for further processing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FetchUsersIpsResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Node not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Request Users IPs List for Node",
"tags": [
"IP Management Controller"
]
}
},
"/api/ip-control/fetch-users-ips/result/{jobId}": {
"get": {
"operationId": "IpControlController_getFetchUsersIpsResult",
"parameters": [
{
"name": "jobId",
"required": true,
"in": "path",
"description": "Job ID",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return result or status of the job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FetchUsersIpsResultResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Job not found"
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get Users IPs List Result by Job ID",
"tags": [
"IP Management Controller"
]
}
},
"/api/metadata/user/{uuid}": {
"get": {
"operationId": "MetadataController_getUserMetadata",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User Metadata retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUserMetadataResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User or Metadata not found (see errorCode for more details)",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "User not found",
"errorCode": "A025"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A025"
]
}
}
},
{
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "Metadata not found",
"errorCode": "A226"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A226"
]
}
}
}
]
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get user metadata",
"tags": [
"Metadata Controller"
]
},
"put": {
"operationId": "MetadataController_upsertUserMetadata",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the user",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertUserMetadataRequestBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "User Metadata upserted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertUserMetadataResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "User not found (see errorCode for more details)",
"content": {
"application/json": {
"schema": {
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "User not found",
"errorCode": "A025"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A025"
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update or create User Metadata",
"tags": [
"Metadata Controller"
]
}
},
"/api/metadata/node/{uuid}": {
"get": {
"operationId": "MetadataController_getNodeMetadata",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the node",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Node Metadata retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetNodeMetadataResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Node or Metadata not found (see errorCode for more details)",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "Node not found",
"errorCode": "A011"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A011"
]
}
}
},
{
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "Metadata not found",
"errorCode": "A226"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A226"
]
}
}
}
]
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Get node metadata",
"tags": [
"Metadata Controller"
]
},
"put": {
"operationId": "MetadataController_upsertNodeMetadata",
"parameters": [
{
"name": "uuid",
"required": true,
"in": "path",
"description": "UUID of the node",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertNodeMetadataRequestBodyDto"
}
}
}
},
"responses": {
"200": {
"description": "Node Metadata upserted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpsertNodeMetadataResponseDto"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"statusCode": {
"type": "number",
"example": 400
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validation": {
"type": "string",
"example": "uuid"
},
"code": {
"type": "string",
"example": "invalid_string"
},
"message": {
"type": "string",
"example": "Invalid uuid"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"uuid"
]
}
},
"required": [
"validation",
"code",
"message",
"path"
]
},
"example": [
{
"validation": "uuid",
"code": "invalid_string",
"message": "Invalid uuid",
"path": [
"uuid"
]
}
]
}
}
}
}
}
},
"404": {
"description": "Node not found (see errorCode for more details)",
"content": {
"application/json": {
"schema": {
"example": {
"timestamp": "omitted",
"path": "omitted",
"message": "Node not found",
"errorCode": "A011"
},
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string",
"enum": [
"A011"
]
}
}
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"path": {
"type": "string"
},
"message": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}
}
},
"security": [
{
"Authorization": []
}
],
"summary": "Update or create Node Metadata",
"tags": [
"Metadata Controller"
]
}
}
},
"info": {
"title": "Remnawave API v2.7.4",
"description": "\nRemnawave is a powerful proxy managment tool, built on top of Xray-core, with a focus on simplicity and ease of use.\n\n## Resources\n* https://t.me/remnawave\n* https://github.com/remnawave\n* https://docs.rw\n",
"version": "2.7.4",
"contact": {},
"license": {
"name": "AGPL-3.0",
"url": "https://github.com/remnawave/panel?tab=AGPL-3.0-1-ov-file"
}
},
"tags": [
{
"name": "Auth Controller",
"description": "Used to authenticate admin users."
},
{
"name": "Passkeys Controller",
"description": "Management of Passkeys."
},
{
"name": "API Tokens Controller",
"description": "Manage API tokens to use in your code. This controller can't be used with API token, only with Admin JWT token"
},
{
"name": "Users Controller",
"description": "Manage users, change their status, reset traffic, etc."
},
{
"name": "Users Bulk Actions Controller",
"description": "Bulk actions with users."
},
{
"name": "HWID User Devices Controller",
"description": ""
},
{
"name": "[Public] Subscription Controller",
"description": "Public Subscription Controller. Methods of this controller are not protected with auth. Use it only for public requests."
},
{
"name": "[Protected] Subscriptions Controller",
"description": "Methods of this controller are protected with auth, most of them is returning the same informations as public Subscription Controller."
},
{
"name": "Nodes Controller",
"description": ""
},
{
"name": "Node Plugins Controller",
"description": ""
},
{
"name": "Bandwidth Stats Controller",
"description": ""
},
{
"name": "IP Management Controller",
"description": "Management of IP addresses and connections."
},
{
"name": "Config Profiles Controller",
"description": "Management of Config Profiles."
},
{
"name": "Internal Squads Controller",
"description": "Management of Internal Squads."
},
{
"name": "External Squads Controller",
"description": "Management of External Squads."
},
{
"name": "Hosts Controller",
"description": ""
},
{
"name": "Hosts Bulk Actions Controller",
"description": ""
},
{
"name": "Subscription Template Controller",
"description": ""
},
{
"name": "Subscription Settings Controller",
"description": ""
},
{
"name": "Infra Billing Controller",
"description": ""
},
{
"name": "System Controller",
"description": ""
},
{
"name": "Keygen Controller",
"description": "Generation of SECRET_KEY for Remnawave Node."
},
{
"name": "Subscription Request History Controller",
"description": ""
},
{
"name": "Snippets Controller",
"description": ""
},
{
"name": "Remnawave Settings Controller",
"description": ""
},
{
"name": "Subscription Page Configs Controller",
"description": ""
},
{
"name": "Metadata Controller",
"description": "Manage arbitrary metadata for Users and Nodes."
}
],
"servers": [],
"components": {
"securitySchemes": {
"Authorization": {
"scheme": "bearer",
"bearerFormat": "JWT",
"type": "http",
"name": "Authorization",
"description": "JWT obtained login."
},
"Prometheus": {
"type": "http",
"scheme": "basic",
"name": "Prometheus",
"description": "Prometheus Basic Auth"
}
},
"schemas": {
"GetRemnawaveSettingsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"passkeySettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"rpId": {
"type": "string",
"nullable": true
},
"origin": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"rpId",
"origin"
],
"nullable": true
},
"oauth2Settings": {
"type": "object",
"properties": {
"github": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"pocketid": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"plainDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"plainDomain",
"allowedEmails"
]
},
"yandex": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"keycloak": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"realm": {
"type": "string",
"nullable": true
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"keycloakDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"realm",
"clientId",
"clientSecret",
"frontendDomain",
"keycloakDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"realm": null,
"frontendDomain": null,
"keycloakDomain": null,
"clientId": null,
"clientSecret": null,
"allowedEmails": []
}
},
"generic": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"withPkce": {
"type": "boolean"
},
"authorizationUrl": {
"type": "string",
"nullable": true
},
"tokenUrl": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"withPkce",
"authorizationUrl",
"tokenUrl",
"frontendDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"frontendDomain": null,
"tokenUrl": null,
"clientId": null,
"clientSecret": null,
"withPkce": false,
"authorizationUrl": null,
"allowedEmails": []
}
},
"telegram": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedIds": {
"type": "array",
"items": {
"type": "string"
}
},
"frontendDomain": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedIds",
"frontendDomain"
],
"default": {
"enabled": false,
"clientId": null,
"clientSecret": null,
"allowedIds": [],
"frontendDomain": null
}
}
},
"required": [
"github",
"pocketid",
"yandex"
],
"nullable": true
},
"passwordSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"nullable": true
},
"brandingSettings": {
"type": "object",
"properties": {
"title": {
"type": "string",
"nullable": true
},
"logoUrl": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"title",
"logoUrl"
],
"nullable": true
}
},
"required": [
"passkeySettings",
"oauth2Settings",
"passwordSettings",
"brandingSettings"
]
}
},
"required": [
"response"
]
},
"UpdateRemnawaveSettingsRequestDto": {
"type": "object",
"properties": {
"passkeySettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"rpId": {
"type": "string",
"nullable": true
},
"origin": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"rpId",
"origin"
]
},
"oauth2Settings": {
"type": "object",
"properties": {
"github": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"pocketid": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"plainDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"plainDomain",
"allowedEmails"
]
},
"yandex": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"keycloak": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"realm": {
"type": "string",
"nullable": true
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"keycloakDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"realm",
"clientId",
"clientSecret",
"frontendDomain",
"keycloakDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"realm": null,
"frontendDomain": null,
"keycloakDomain": null,
"clientId": null,
"clientSecret": null,
"allowedEmails": []
}
},
"generic": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"withPkce": {
"type": "boolean"
},
"authorizationUrl": {
"type": "string",
"nullable": true
},
"tokenUrl": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"withPkce",
"authorizationUrl",
"tokenUrl",
"frontendDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"frontendDomain": null,
"tokenUrl": null,
"clientId": null,
"clientSecret": null,
"withPkce": false,
"authorizationUrl": null,
"allowedEmails": []
}
},
"telegram": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedIds": {
"type": "array",
"items": {
"type": "string"
}
},
"frontendDomain": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedIds",
"frontendDomain"
],
"default": {
"enabled": false,
"clientId": null,
"clientSecret": null,
"allowedIds": [],
"frontendDomain": null
}
}
},
"required": [
"github",
"pocketid",
"yandex"
]
},
"passwordSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]
},
"brandingSettings": {
"type": "object",
"properties": {
"title": {
"type": "string",
"nullable": true
},
"logoUrl": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"title",
"logoUrl"
]
}
}
},
"UpdateRemnawaveSettingsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"passkeySettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"rpId": {
"type": "string",
"nullable": true
},
"origin": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"rpId",
"origin"
],
"nullable": true
},
"oauth2Settings": {
"type": "object",
"properties": {
"github": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"pocketid": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"plainDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"plainDomain",
"allowedEmails"
]
},
"yandex": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedEmails"
]
},
"keycloak": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"realm": {
"type": "string",
"nullable": true
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"keycloakDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"realm",
"clientId",
"clientSecret",
"frontendDomain",
"keycloakDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"realm": null,
"frontendDomain": null,
"keycloakDomain": null,
"clientId": null,
"clientSecret": null,
"allowedEmails": []
}
},
"generic": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"withPkce": {
"type": "boolean"
},
"authorizationUrl": {
"type": "string",
"nullable": true
},
"tokenUrl": {
"type": "string",
"nullable": true
},
"frontendDomain": {
"type": "string",
"nullable": true
},
"allowedEmails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"withPkce",
"authorizationUrl",
"tokenUrl",
"frontendDomain",
"allowedEmails"
],
"default": {
"enabled": false,
"frontendDomain": null,
"tokenUrl": null,
"clientId": null,
"clientSecret": null,
"withPkce": false,
"authorizationUrl": null,
"allowedEmails": []
}
},
"telegram": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string",
"nullable": true
},
"clientSecret": {
"type": "string",
"nullable": true
},
"allowedIds": {
"type": "array",
"items": {
"type": "string"
}
},
"frontendDomain": {
"type": "string",
"nullable": true
}
},
"required": [
"enabled",
"clientId",
"clientSecret",
"allowedIds",
"frontendDomain"
],
"default": {
"enabled": false,
"clientId": null,
"clientSecret": null,
"allowedIds": [],
"frontendDomain": null
}
}
},
"required": [
"github",
"pocketid",
"yandex"
],
"nullable": true
},
"passwordSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"nullable": true
},
"brandingSettings": {
"type": "object",
"properties": {
"title": {
"type": "string",
"nullable": true
},
"logoUrl": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"title",
"logoUrl"
],
"nullable": true
}
},
"required": [
"passkeySettings",
"oauth2Settings",
"passwordSettings",
"brandingSettings"
]
}
},
"required": [
"response"
]
},
"GetPasskeyRegistrationOptionsResponseDto": {
"type": "object",
"properties": {
"response": {}
},
"required": [
"response"
]
},
"VerifyPasskeyRegistrationRequestDto": {
"type": "object",
"properties": {
"response": {}
},
"required": [
"response"
]
},
"VerifyPasskeyRegistrationResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"verified": {
"type": "boolean"
}
},
"required": [
"verified"
]
}
},
"required": [
"response"
]
},
"GetAllPasskeysResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"passkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"description": "Created date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"lastUsedAt": {
"description": "Last used date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"name",
"createdAt",
"lastUsedAt"
]
}
}
},
"required": [
"passkeys"
]
}
},
"required": [
"response"
]
},
"DeletePasskeyRequestDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"DeletePasskeyResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"passkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"description": "Created date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"lastUsedAt": {
"description": "Last used date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"name",
"createdAt",
"lastUsedAt"
]
}
}
},
"required": [
"passkeys"
]
}
},
"required": [
"response"
]
},
"UpdatePasskeyRequestDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
}
},
"required": [
"id",
"name"
]
},
"UpdatePasskeyResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"passkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"description": "Created date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"lastUsedAt": {
"description": "Last used date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"name",
"createdAt",
"lastUsedAt"
]
}
}
},
"required": [
"passkeys"
]
}
},
"required": [
"response"
]
},
"LoginRequestDto": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"username",
"password"
]
},
"LoginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
},
"required": [
"response"
]
},
"RegisterRequestDto": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"password": {
"type": "string",
"minLength": 24,
"pattern": "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{24,}$"
}
},
"required": [
"username",
"password"
]
},
"RegisterResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
},
"required": [
"response"
]
},
"GetStatusResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isLoginAllowed": {
"type": "boolean"
},
"isRegisterAllowed": {
"type": "boolean"
},
"authentication": {
"type": "object",
"properties": {
"passkey": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]
},
"oauth2": {
"type": "object",
"properties": {
"providers": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
}
},
"required": [
"providers"
]
},
"password": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]
}
},
"required": [
"passkey",
"oauth2",
"password"
],
"nullable": true
},
"branding": {
"type": "object",
"properties": {
"title": {
"type": "string",
"nullable": true
},
"logoUrl": {
"type": "string",
"nullable": true
}
},
"required": [
"title",
"logoUrl"
]
}
},
"required": [
"isLoginAllowed",
"isRegisterAllowed",
"authentication",
"branding"
]
}
},
"required": [
"response"
]
},
"OAuth2AuthorizeRequestDto": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"telegram",
"github",
"pocketid",
"yandex",
"keycloak",
"generic"
],
"x-enumNames": [
"TELEGRAM",
"GITHUB",
"POCKETID",
"YANDEX",
"KEYCLOAK",
"GENERIC"
]
}
},
"required": [
"provider"
]
},
"OAuth2AuthorizeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"authorizationUrl": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"authorizationUrl"
]
}
},
"required": [
"response"
]
},
"OAuth2CallbackRequestDto": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"telegram",
"github",
"pocketid",
"yandex",
"keycloak",
"generic"
],
"x-enumNames": [
"TELEGRAM",
"GITHUB",
"POCKETID",
"YANDEX",
"KEYCLOAK",
"GENERIC"
]
},
"code": {
"type": "string"
},
"state": {
"type": "string"
}
},
"required": [
"provider",
"code",
"state"
]
},
"OAuth2CallbackResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
},
"required": [
"response"
]
},
"GetPasskeyAuthenticationOptionsResponseDto": {
"type": "object",
"properties": {
"response": {}
},
"required": [
"response"
]
},
"VerifyPasskeyAuthenticationRequestDto": {
"type": "object",
"properties": {
"response": {}
},
"required": [
"response"
]
},
"VerifyPasskeyAuthenticationResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionPageConfigsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"configs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
}
},
"required": [
"total",
"configs"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionPageConfigResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
},
"required": [
"response"
]
},
"UpdateSubscriptionPageConfigRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"config": {}
},
"required": [
"uuid"
]
},
"UpdateSubscriptionPageConfigResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
},
"required": [
"response"
]
},
"DeleteSubscriptionPageConfigResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"CreateSubscriptionPageConfigRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
}
},
"required": [
"name"
]
},
"CreateSubscriptionPageConfigResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
},
"required": [
"response"
]
},
"ReorderSubscriptionPageConfigsRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderSubscriptionPageConfigsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"configs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
}
},
"required": [
"total",
"configs"
]
}
},
"required": [
"response"
]
},
"CloneSubscriptionPageConfigRequestDto": {
"type": "object",
"properties": {
"cloneFromUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"cloneFromUuid"
]
},
"CloneSubscriptionPageConfigResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"config"
]
}
},
"required": [
"response"
]
},
"CreateUserRequestDto": {
"type": "object",
"properties": {
"username": {
"description": "Unique username for the user. Required. Must be 3-36 characters long and contain only letters, numbers, underscores and dashes.",
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 36,
"minLength": 3
},
"status": {
"description": "Optional. User account status. Defaults to ACTIVE.",
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"shortUuid": {
"description": "Optional. Short UUID identifier for the user.",
"type": "string"
},
"trojanPassword": {
"description": "Optional. Password for Trojan protocol. Must be 8-32 characters.",
"type": "string",
"minLength": 8,
"maxLength": 32
},
"vlessUuid": {
"description": "Optional. UUID for VLESS protocol. Must be a valid UUID format.",
"type": "string",
"format": "uuid"
},
"ssPassword": {
"description": "Optional. Password for Shadowsocks protocol. Must be 8-32 characters.",
"type": "string",
"minLength": 8,
"maxLength": 32
},
"trafficLimitBytes": {
"description": "Optional. Traffic limit in bytes. Set to 0 for unlimited traffic.",
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"description": "Account expiration date. Required. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"createdAt": {
"description": "Optional. Account creation date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"lastTrafficResetAt": {
"description": "Optional. Date of last traffic reset. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"description": {
"description": "Optional. Additional notes or description for the user account.",
"type": "string"
},
"tag": {
"description": "Optional. User tag for categorization. Max 16 characters, uppercase letters, numbers and underscores only.",
"type": "string",
"pattern": "^[A-Z0-9_]+$",
"maxLength": 16,
"nullable": true
},
"telegramId": {
"description": "Optional. Telegram user ID for notifications. Must be an integer.",
"type": "integer",
"nullable": true
},
"email": {
"description": "Optional. User email address. Must be a valid email format.",
"type": "string",
"format": "email",
"nullable": true
},
"hwidDeviceLimit": {
"description": "Optional. Maximum number of hardware devices allowed. Must be a positive integer.",
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"activeInternalSquads": {
"description": "Optional. Array of UUIDs representing enabled internal squads.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"uuid": {
"description": "Optional. Pass UUID to create user with specific UUID, otherwise it will be generated automatically.",
"type": "string",
"format": "uuid"
},
"externalSquadUuid": {
"description": "Optional. External squad UUID.",
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"username",
"expireAt"
]
},
"CreateUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"UpdateUserRequestDto": {
"type": "object",
"properties": {
"username": {
"description": "Username of the user",
"type": "string"
},
"uuid": {
"description": "UUID of the user. UUID has higher priority than username, so if both are provided, username will be ignored.",
"type": "string",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED"
]
},
"trafficLimitBytes": {
"description": "Traffic limit in bytes. 0 - unlimited",
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"description": "Expiration date: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"pattern": "^[A-Z0-9_]+$",
"maxLength": 16,
"nullable": true
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"nullable": true
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"externalSquadUuid": {
"description": "Optional. External squad UUID.",
"type": "string",
"format": "uuid",
"nullable": true
}
}
},
"UpdateUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"DeleteUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"GetAllUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"users",
"total"
]
}
},
"required": [
"response"
]
},
"GetAllTagsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"tags"
]
}
},
"required": [
"response"
]
},
"GetUserAccessibleNodesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
},
"activeNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeName": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"configProfileUuid": {
"type": "string",
"format": "uuid"
},
"configProfileName": {
"type": "string"
},
"activeSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"squadName": {
"type": "string"
},
"activeInbounds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"squadName",
"activeInbounds"
]
}
}
},
"required": [
"uuid",
"nodeName",
"countryCode",
"configProfileUuid",
"configProfileName",
"activeSquads"
]
}
}
},
"required": [
"userUuid",
"activeNodes"
]
}
},
"required": [
"response"
]
},
"GetUserSubscriptionRequestHistoryResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"requestAt": {
"type": "string",
"format": "date-time"
},
"requestIp": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"userUuid",
"requestAt",
"requestIp",
"userAgent"
]
}
}
},
"required": [
"total",
"records"
]
}
},
"required": [
"response"
]
},
"GetUserByShortUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"GetUserByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"GetUserByUsernameResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"GetUserByIdResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"GetUserByTelegramIdResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
}
},
"required": [
"response"
]
},
"GetUserByEmailResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
}
},
"required": [
"response"
]
},
"GetUserByTagResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
}
},
"required": [
"response"
]
},
"RevokeUserSubscriptionBodyDto": {
"type": "object",
"properties": {
"revokeOnlyPasswords": {
"description": "Optional. If true, only passwords will be revoked, without changing the short UUID (Subscription URL).",
"type": "boolean",
"default": false
},
"shortUuid": {
"description": "Optional. If not provided, a new short UUID will be generated by Remnawave. Please note that it is strongly recommended to allow Remnawave to generate the short UUID.",
"type": "string",
"minLength": 6,
"maxLength": 48
}
}
},
"RevokeUserSubscriptionResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"DisableUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"EnableUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"ResetUserTrafficResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
}
},
"required": [
"response"
]
},
"ResolveUserRequestBodyDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"ResolveUserResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
}
},
"required": [
"uuid",
"username",
"id",
"shortUuid"
]
}
},
"required": [
"response"
]
},
"BulkDeleteUsersByStatusRequestDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
}
}
},
"BulkDeleteUsersByStatusResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkDeleteUsersRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkDeleteUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkRevokeUsersSubscriptionRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkRevokeUsersSubscriptionResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkResetTrafficUsersRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkResetTrafficUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkUpdateUsersRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
},
"fields": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"description": "Traffic limit in bytes. 0 - unlimited",
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"trafficLimitStrategy": {
"description": "Traffic limit reset strategy",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
},
"expireAt": {
"description": "Expiration date: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"tag": {
"type": "string",
"pattern": "^[A-Z0-9_]+$",
"maxLength": 16,
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"nullable": true
},
"externalSquadUuid": {
"description": "Optional. External squad UUID.",
"type": "string",
"format": "uuid",
"nullable": true
}
}
}
},
"required": [
"uuids",
"fields"
]
},
"BulkUpdateUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkUpdateUsersSquadsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids",
"activeInternalSquads"
]
},
"BulkUpdateUsersSquadsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkExtendExpirationDateRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "string",
"format": "uuid"
}
},
"extendDays": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 9999,
"exclusiveMaximum": false
}
},
"required": [
"uuids",
"extendDays"
]
},
"BulkExtendExpirationDateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"affectedRows": {
"type": "number"
}
},
"required": [
"affectedRows"
]
}
},
"required": [
"response"
]
},
"BulkAllUpdateUsersRequestDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"description": "Traffic limit in bytes. 0 - unlimited",
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"trafficLimitStrategy": {
"description": "Traffic limit reset strategy",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
},
"expireAt": {
"description": "Expiration date: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"tag": {
"type": "string",
"pattern": "^[A-Z0-9_]+$",
"maxLength": 16,
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"nullable": true
}
}
},
"BulkAllUpdateUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"BulkAllResetTrafficUsersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"BulkAllExtendExpirationDateRequestDto": {
"type": "object",
"properties": {
"extendDays": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
}
},
"required": [
"extendDays"
]
},
"BulkAllExtendExpirationDateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionInfoResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isFound": {
"type": "boolean"
},
"user": {
"type": "object",
"properties": {
"shortUuid": {
"type": "string"
},
"daysLeft": {
"type": "number"
},
"trafficUsed": {
"type": "string"
},
"trafficLimit": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"trafficUsedBytes": {
"type": "string"
},
"trafficLimitBytes": {
"type": "string"
},
"lifetimeTrafficUsedBytes": {
"type": "string"
},
"username": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"isActive": {
"type": "boolean"
},
"userStatus": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
]
},
"trafficLimitStrategy": {
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
}
},
"required": [
"shortUuid",
"daysLeft",
"trafficUsed",
"trafficLimit",
"lifetimeTrafficUsed",
"trafficUsedBytes",
"trafficLimitBytes",
"lifetimeTrafficUsedBytes",
"username",
"expiresAt",
"isActive",
"userStatus",
"trafficLimitStrategy"
]
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"ssConfLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionUrl": {
"type": "string"
}
},
"required": [
"isFound",
"user",
"links",
"ssConfLinks",
"subscriptionUrl"
]
}
},
"required": [
"response"
]
},
"GetAllSubscriptionsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"subscriptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"isFound": {
"type": "boolean"
},
"user": {
"type": "object",
"properties": {
"shortUuid": {
"type": "string"
},
"daysLeft": {
"type": "number"
},
"trafficUsed": {
"type": "string"
},
"trafficLimit": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"trafficUsedBytes": {
"type": "string"
},
"trafficLimitBytes": {
"type": "string"
},
"lifetimeTrafficUsedBytes": {
"type": "string"
},
"username": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"isActive": {
"type": "boolean"
},
"userStatus": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
]
},
"trafficLimitStrategy": {
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
}
},
"required": [
"shortUuid",
"daysLeft",
"trafficUsed",
"trafficLimit",
"lifetimeTrafficUsed",
"trafficUsedBytes",
"trafficLimitBytes",
"lifetimeTrafficUsedBytes",
"username",
"expiresAt",
"isActive",
"userStatus",
"trafficLimitStrategy"
]
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"ssConfLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionUrl": {
"type": "string"
}
},
"required": [
"isFound",
"user",
"links",
"ssConfLinks",
"subscriptionUrl"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"subscriptions",
"total"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionByUsernameResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isFound": {
"type": "boolean"
},
"user": {
"type": "object",
"properties": {
"shortUuid": {
"type": "string"
},
"daysLeft": {
"type": "number"
},
"trafficUsed": {
"type": "string"
},
"trafficLimit": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"trafficUsedBytes": {
"type": "string"
},
"trafficLimitBytes": {
"type": "string"
},
"lifetimeTrafficUsedBytes": {
"type": "string"
},
"username": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"isActive": {
"type": "boolean"
},
"userStatus": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
]
},
"trafficLimitStrategy": {
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
}
},
"required": [
"shortUuid",
"daysLeft",
"trafficUsed",
"trafficLimit",
"lifetimeTrafficUsed",
"trafficUsedBytes",
"trafficLimitBytes",
"lifetimeTrafficUsedBytes",
"username",
"expiresAt",
"isActive",
"userStatus",
"trafficLimitStrategy"
]
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"ssConfLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionUrl": {
"type": "string"
}
},
"required": [
"isFound",
"user",
"links",
"ssConfLinks",
"subscriptionUrl"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionByShortUuidProtectedResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isFound": {
"type": "boolean"
},
"user": {
"type": "object",
"properties": {
"shortUuid": {
"type": "string"
},
"daysLeft": {
"type": "number"
},
"trafficUsed": {
"type": "string"
},
"trafficLimit": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"trafficUsedBytes": {
"type": "string"
},
"trafficLimitBytes": {
"type": "string"
},
"lifetimeTrafficUsedBytes": {
"type": "string"
},
"username": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"isActive": {
"type": "boolean"
},
"userStatus": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
]
},
"trafficLimitStrategy": {
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
}
},
"required": [
"shortUuid",
"daysLeft",
"trafficUsed",
"trafficLimit",
"lifetimeTrafficUsed",
"trafficUsedBytes",
"trafficLimitBytes",
"lifetimeTrafficUsedBytes",
"username",
"expiresAt",
"isActive",
"userStatus",
"trafficLimitStrategy"
]
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"ssConfLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionUrl": {
"type": "string"
}
},
"required": [
"isFound",
"user",
"links",
"ssConfLinks",
"subscriptionUrl"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isFound": {
"type": "boolean"
},
"user": {
"type": "object",
"properties": {
"shortUuid": {
"type": "string"
},
"daysLeft": {
"type": "number"
},
"trafficUsed": {
"type": "string"
},
"trafficLimit": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"trafficUsedBytes": {
"type": "string"
},
"trafficLimitBytes": {
"type": "string"
},
"lifetimeTrafficUsedBytes": {
"type": "string"
},
"username": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"isActive": {
"type": "boolean"
},
"userStatus": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
]
},
"trafficLimitStrategy": {
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
]
}
},
"required": [
"shortUuid",
"daysLeft",
"trafficUsed",
"trafficLimit",
"lifetimeTrafficUsed",
"trafficUsedBytes",
"trafficLimitBytes",
"lifetimeTrafficUsedBytes",
"username",
"expiresAt",
"isActive",
"userStatus",
"trafficLimitStrategy"
]
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"ssConfLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionUrl": {
"type": "string"
}
},
"required": [
"isFound",
"user",
"links",
"ssConfLinks",
"subscriptionUrl"
]
}
},
"required": [
"response"
]
},
"GetRawSubscriptionByShortUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
},
"convertedUserInfo": {
"type": "object",
"properties": {
"daysLeft": {
"type": "number"
},
"trafficLimit": {
"type": "string"
},
"trafficUsed": {
"type": "string"
},
"lifetimeTrafficUsed": {
"type": "string"
},
"isHwidLimited": {
"type": "boolean"
}
},
"required": [
"daysLeft",
"trafficLimit",
"trafficUsed",
"lifetimeTrafficUsed",
"isHwidLimited"
]
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"resolvedProxyConfigs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"finalRemark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true
},
"protocol": {
"type": "string",
"enum": [
"vless",
"trojan",
"shadowsocks",
"hysteria"
]
},
"protocolOptions": {
"oneOf": [
{
"type": "object",
"properties": {
"encryption": {
"type": "string"
},
"id": {
"type": "string"
},
"flow": {
"type": "string",
"enum": [
"",
"xtls-rprx-vision",
"xtls-rprx-vision-udp443"
]
}
},
"required": [
"encryption",
"id",
"flow"
]
},
{
"type": "object",
"properties": {
"password": {
"type": "string"
}
},
"required": [
"password"
]
},
{
"type": "object",
"properties": {
"method": {
"type": "string"
},
"password": {
"type": "string"
},
"uot": {
"type": "boolean"
},
"uotVersion": {
"type": "integer"
}
},
"required": [
"method",
"password",
"uot",
"uotVersion"
]
},
{
"type": "object",
"properties": {
"version": {
"type": "integer"
}
},
"required": [
"version"
]
}
]
},
"transport": {
"type": "string",
"enum": [
"tcp",
"xhttp",
"ws",
"httpupgrade",
"grpc",
"kcp",
"hysteria"
]
},
"transportOptions": {
"oneOf": [
{
"type": "object",
"properties": {
"header": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"none"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"http"
]
},
"request": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"method": {
"type": "string"
},
"path": {
"type": "array",
"items": {
"type": "string"
}
},
"headers": {
"type": "object",
"additionalProperties": {}
}
}
},
"response": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"status": {
"type": "string"
},
"reason": {
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {}
}
}
}
},
"required": [
"type"
]
}
],
"nullable": true
}
},
"required": [
"header"
]
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"mode": {
"type": "string",
"enum": [
"auto",
"packet-up",
"stream-up",
"stream-one"
]
},
"extra": {
"type": "object",
"additionalProperties": {},
"nullable": true
}
},
"required": [
"path",
"host",
"mode",
"extra"
]
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"heartbeatPeriod": {
"type": "number",
"nullable": true
}
},
"required": [
"path",
"host",
"headers",
"heartbeatPeriod"
]
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
}
},
"required": [
"path",
"host",
"headers"
]
},
{
"type": "object",
"properties": {
"authority": {
"type": "string",
"nullable": true
},
"serviceName": {
"type": "string",
"nullable": true
},
"multiMode": {
"type": "boolean"
}
},
"required": [
"authority",
"serviceName",
"multiMode"
]
},
{
"type": "object",
"properties": {
"clientMtu": {
"type": "integer"
},
"tti": {
"type": "integer"
},
"congestion": {
"type": "boolean"
}
},
"required": [
"clientMtu",
"tti",
"congestion"
]
},
{
"type": "object",
"properties": {
"version": {
"type": "integer"
},
"auth": {
"type": "string"
}
},
"required": [
"version",
"auth"
]
}
]
},
"security": {
"type": "string",
"enum": [
"tls",
"reality",
"none"
]
},
"securityOptions": {
"oneOf": [
{
"type": "object",
"properties": {
"allowInsecure": {
"type": "boolean"
},
"alpn": {
"type": "string",
"nullable": true
},
"enableSessionResumption": {
"type": "boolean"
},
"fingerprint": {
"type": "string",
"nullable": true
},
"serverName": {
"type": "string",
"nullable": true
},
"echConfigList": {
"type": "string",
"nullable": true
},
"echForceQuery": {
"type": "string",
"nullable": true
}
},
"required": [
"allowInsecure",
"alpn",
"enableSessionResumption",
"fingerprint",
"serverName",
"echConfigList",
"echForceQuery"
]
},
{
"type": "object",
"properties": {
"fingerprint": {
"type": "string"
},
"publicKey": {
"type": "string"
},
"shortId": {
"type": "string",
"nullable": true
},
"serverName": {
"type": "string"
},
"spiderX": {
"type": "string",
"nullable": true
},
"mldsa65Verify": {
"type": "string",
"nullable": true
}
},
"required": [
"fingerprint",
"publicKey",
"shortId",
"serverName",
"spiderX",
"mldsa65Verify"
]
}
]
},
"streamOverrides": {
"type": "object",
"properties": {
"finalMask": {
"nullable": true
},
"sockopt": {
"nullable": true
}
},
"required": [
"finalMask",
"sockopt"
]
},
"mux": {
"nullable": true
},
"clientOverrides": {
"type": "object",
"properties": {
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"serverDescription": {
"type": "string",
"nullable": true
},
"xrayJsonTemplate": {
"nullable": true
}
},
"required": [
"shuffleHost",
"mihomoX25519",
"serverDescription",
"xrayJsonTemplate"
]
},
"metadata": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"nullable": true
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"inboundTag": {
"type": "string"
},
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"isDisabled": {
"type": "boolean"
},
"isHidden": {
"type": "boolean"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"vlessRouteId": {
"type": "integer",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"tag",
"excludeFromSubscriptionTypes",
"inboundTag",
"configProfileUuid",
"configProfileInboundUuid",
"isDisabled",
"isHidden",
"viewPosition",
"remark",
"vlessRouteId",
"rawInbound"
]
}
},
"required": [
"finalRemark",
"address",
"port",
"protocol",
"protocolOptions",
"transport",
"transportOptions",
"security",
"streamOverrides",
"mux",
"clientOverrides",
"metadata"
]
}
}
},
"required": [
"user",
"convertedUserInfo",
"headers",
"resolvedProxyConfigs"
]
}
},
"required": [
"response"
]
},
"GetSubpageConfigByShortUuidRequestBodyDto": {
"type": "object",
"properties": {
"requestHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"requestHeaders"
]
},
"GetSubpageConfigByShortUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"webpageAllowed": {
"type": "boolean"
}
},
"required": [
"subpageConfigUuid",
"webpageAllowed"
]
}
},
"required": [
"response"
]
},
"GetConnectionKeysByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"enabledKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"hiddenKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"disabledKeys": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"enabledKeys",
"hiddenKeys",
"disabledKeys"
]
}
},
"required": [
"response"
]
},
"GetTemplatesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
},
"templateJson": {
"nullable": true
},
"encodedTemplateYaml": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"templateType",
"templateJson",
"encodedTemplateYaml"
]
}
}
},
"required": [
"total",
"templates"
]
}
},
"required": [
"response"
]
},
"GetTemplateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
},
"templateJson": {
"nullable": true
},
"encodedTemplateYaml": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"templateType",
"templateJson",
"encodedTemplateYaml"
]
}
},
"required": [
"response"
]
},
"UpdateTemplateRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 255,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"templateJson": {
"type": "object",
"properties": {}
},
"encodedTemplateYaml": {
"type": "string"
}
},
"required": [
"uuid"
]
},
"UpdateTemplateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
},
"templateJson": {
"nullable": true
},
"encodedTemplateYaml": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"templateType",
"templateJson",
"encodedTemplateYaml"
]
}
},
"required": [
"response"
]
},
"DeleteSubscriptionTemplateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"CreateSubscriptionTemplateRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 255,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"name",
"templateType"
]
},
"CreateSubscriptionTemplateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
},
"templateJson": {
"nullable": true
},
"encodedTemplateYaml": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"templateType",
"templateJson",
"encodedTemplateYaml"
]
}
},
"required": [
"response"
]
},
"ReorderSubscriptionTemplatesRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderSubscriptionTemplatesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
},
"templateJson": {
"nullable": true
},
"encodedTemplateYaml": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"templateType",
"templateJson",
"encodedTemplateYaml"
]
}
}
},
"required": [
"total",
"templates"
]
}
},
"required": [
"response"
]
},
"CreateApiTokenRequestDto": {
"type": "object",
"properties": {
"tokenName": {
"type": "string"
}
},
"required": [
"tokenName"
]
},
"CreateApiTokenResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"uuid": {
"type": "string"
}
},
"required": [
"token",
"uuid"
]
}
},
"required": [
"response"
]
},
"DeleteApiTokenResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "boolean"
}
},
"required": [
"response"
]
},
"FindAllApiTokensResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"apiKeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"token": {
"type": "string"
},
"tokenName": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"token",
"tokenName",
"createdAt",
"updatedAt"
]
}
},
"docs": {
"type": "object",
"properties": {
"isDocsEnabled": {
"type": "boolean"
},
"scalarPath": {
"type": "string",
"nullable": true
},
"swaggerPath": {
"type": "string",
"nullable": true
}
},
"required": [
"isDocsEnabled",
"scalarPath",
"swaggerPath"
]
}
},
"required": [
"apiKeys",
"docs"
]
}
},
"required": [
"response"
]
},
"GetConfigProfilesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"configProfiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"configProfiles"
]
}
},
"required": [
"response"
]
},
"GetAllInboundsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
},
"activeSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound",
"activeSquads"
]
}
}
},
"required": [
"total",
"inbounds"
]
}
},
"required": [
"response"
]
},
"GetInboundsByProfileUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
},
"activeSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound",
"activeSquads"
]
}
}
},
"required": [
"total",
"inbounds"
]
}
},
"required": [
"response"
]
},
"GetConfigProfileByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"GetComputedConfigProfileByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"DeleteConfigProfileResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"CreateConfigProfileRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"config": {
"type": "object",
"properties": {}
}
},
"required": [
"name",
"config"
]
},
"CreateConfigProfileResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"UpdateConfigProfileRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"config": {
"type": "object",
"properties": {}
}
},
"required": [
"uuid"
]
},
"UpdateConfigProfileResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"ReorderConfigProfilesRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderConfigProfilesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"configProfiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"config": {},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"config",
"inbounds",
"nodes",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"configProfiles"
]
}
},
"required": [
"response"
]
},
"GetSnippetsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"snippet": {}
},
"required": [
"name",
"snippet"
]
}
}
},
"required": [
"total",
"snippets"
]
}
},
"required": [
"response"
]
},
"DeleteSnippetRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 255,
"pattern": "^[A-Za-z0-9_\\s-]+$"
}
},
"required": [
"name"
]
},
"DeleteSnippetResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"snippet": {}
},
"required": [
"name",
"snippet"
]
}
}
},
"required": [
"total",
"snippets"
]
}
},
"required": [
"response"
]
},
"CreateSnippetRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 255,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"snippet": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
}
},
"required": [
"name",
"snippet"
]
},
"CreateSnippetResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"snippet": {}
},
"required": [
"name",
"snippet"
]
}
}
},
"required": [
"total",
"snippets"
]
}
},
"required": [
"response"
]
},
"UpdateSnippetRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 255,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"snippet": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
}
},
"required": [
"name",
"snippet"
]
},
"UpdateSnippetResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"snippet": {}
},
"required": [
"name",
"snippet"
]
}
}
},
"required": [
"total",
"snippets"
]
}
},
"required": [
"response"
]
},
"GetInternalSquadsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"internalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
},
"inboundsCount": {
"type": "number"
}
},
"required": [
"membersCount",
"inboundsCount"
]
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"inbounds",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"internalSquads"
]
}
},
"required": [
"response"
]
},
"GetInternalSquadByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
},
"inboundsCount": {
"type": "number"
}
},
"required": [
"membersCount",
"inboundsCount"
]
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"inbounds",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"CreateInternalSquadRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"inbounds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"name",
"inbounds"
]
},
"CreateInternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
},
"inboundsCount": {
"type": "number"
}
},
"required": [
"membersCount",
"inboundsCount"
]
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"inbounds",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"GetInternalSquadAccessibleNodesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"squadUuid": {
"type": "string",
"format": "uuid"
},
"accessibleNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeName": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"configProfileUuid": {
"type": "string",
"format": "uuid"
},
"configProfileName": {
"type": "string"
},
"activeInbounds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"uuid",
"nodeName",
"countryCode",
"configProfileUuid",
"configProfileName",
"activeInbounds"
]
}
}
},
"required": [
"squadUuid",
"accessibleNodes"
]
}
},
"required": [
"response"
]
},
"UpdateInternalSquadRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"inbounds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuid"
]
},
"UpdateInternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
},
"inboundsCount": {
"type": "number"
}
},
"required": [
"membersCount",
"inboundsCount"
]
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"inbounds",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"DeleteInternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"AddUsersToInternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"RemoveUsersFromInternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"ReorderInternalSquadsRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderInternalSquadsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"internalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
},
"inboundsCount": {
"type": "number"
}
},
"required": [
"membersCount",
"inboundsCount"
]
},
"inbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"inbounds",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"internalSquads"
]
}
},
"required": [
"response"
]
},
"GetExternalSquadsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"externalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
}
},
"required": [
"membersCount"
]
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
},
"nullable": true
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
},
"nullable": true
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"templates",
"subscriptionSettings",
"hostOverrides",
"responseHeaders",
"hwidSettings",
"customRemarks",
"subpageConfigUuid",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"externalSquads"
]
}
},
"required": [
"response"
]
},
"GetExternalSquadByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
}
},
"required": [
"membersCount"
]
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
},
"nullable": true
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
},
"nullable": true
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"templates",
"subscriptionSettings",
"hostOverrides",
"responseHeaders",
"hwidSettings",
"customRemarks",
"subpageConfigUuid",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"CreateExternalSquadRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
}
},
"required": [
"name"
]
},
"CreateExternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
}
},
"required": [
"membersCount"
]
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
},
"nullable": true
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
},
"nullable": true
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"templates",
"subscriptionSettings",
"hostOverrides",
"responseHeaders",
"hwidSettings",
"customRemarks",
"subpageConfigUuid",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"UpdateExternalSquadRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
}
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
}
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"uuid"
]
},
"UpdateExternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
}
},
"required": [
"membersCount"
]
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
},
"nullable": true
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
},
"nullable": true
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"templates",
"subscriptionSettings",
"hostOverrides",
"responseHeaders",
"hwidSettings",
"customRemarks",
"subpageConfigUuid",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"DeleteExternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"AddUsersToExternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"RemoveUsersFromExternalSquadResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"ReorderExternalSquadsRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderExternalSquadsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"externalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"info": {
"type": "object",
"properties": {
"membersCount": {
"type": "number"
}
},
"required": [
"membersCount"
]
},
"templates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"templateUuid": {
"type": "string",
"format": "uuid"
},
"templateType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
},
"required": [
"templateUuid",
"templateType"
]
}
},
"subscriptionSettings": {
"type": "object",
"properties": {
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
}
},
"nullable": true
},
"hostOverrides": {
"type": "object",
"properties": {
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
}
},
"nullable": true
},
"responseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
],
"nullable": true
},
"subpageConfigUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"viewPosition",
"name",
"info",
"templates",
"subscriptionSettings",
"hostOverrides",
"responseHeaders",
"hwidSettings",
"customRemarks",
"subpageConfigUuid",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"externalSquads"
]
}
},
"required": [
"response"
]
},
"GetPubKeyResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"pubKey": {
"type": "string"
}
},
"required": [
"pubKey"
]
}
},
"required": [
"response"
]
},
"GetAllNodesTagsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"tags"
]
}
},
"required": [
"response"
]
},
"CreateNodeRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 3,
"maxLength": 30
},
"address": {
"type": "string",
"minLength": 2
},
"port": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false
},
"isTrafficTrackingActive": {
"type": "boolean",
"default": false
},
"trafficLimitBytes": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false
},
"notifyPercent": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 100,
"exclusiveMaximum": false
},
"trafficResetDay": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 31,
"exclusiveMaximum": false
},
"countryCode": {
"type": "string",
"maxLength": 2,
"default": "XX"
},
"consumptionMultiplier": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 100,
"exclusiveMaximum": false
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid"
},
"activeInbounds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"tags": {
"type": "array",
"maxItems": 10,
"items": {
"type": "string",
"pattern": "^[A-Z0-9_:]+$",
"maxLength": 36
}
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"name",
"address",
"configProfile"
]
},
"CreateNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"response"
]
},
"GetAllNodesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
}
},
"required": [
"response"
]
},
"GetOneNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"response"
]
},
"EnableNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"response"
]
},
"DisableNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"response"
]
},
"DeleteNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"UpdateNodeRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 3,
"maxLength": 30
},
"address": {
"type": "string",
"minLength": 2
},
"port": {
"type": "number",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficLimitBytes": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false
},
"notifyPercent": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 100,
"exclusiveMaximum": false
},
"trafficResetDay": {
"type": "number",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 31,
"exclusiveMaximum": false
},
"countryCode": {
"type": "string",
"maxLength": 2
},
"consumptionMultiplier": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 100,
"exclusiveMaximum": false
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid"
},
"activeInbounds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"tags": {
"type": "array",
"maxItems": 10,
"items": {
"type": "string",
"pattern": "^[A-Z0-9_:]+$",
"maxLength": 36
}
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"uuid"
]
},
"UpdateNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"response"
]
},
"RestartNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"ResetNodeTrafficResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"RestartAllNodesRequestBodyDto": {
"type": "object",
"properties": {
"forceRestart": {
"type": "boolean"
}
}
},
"RestartAllNodesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"ReorderNodeRequestDto": {
"type": "object",
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"nodes"
]
},
"ReorderNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
}
},
"required": [
"response"
]
},
"ProfileModificationRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid"
},
"activeInbounds": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
}
},
"required": [
"uuids",
"configProfile"
]
},
"ProfileModificationResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"BulkNodesActionsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
},
"action": {
"type": "string",
"enum": [
"ENABLE",
"DISABLE",
"RESTART",
"RESET_TRAFFIC"
],
"x-enumNames": [
"ENABLE",
"DISABLE",
"RESTART",
"RESET_TRAFFIC"
]
}
},
"required": [
"uuids",
"action"
]
},
"BulkNodesActionsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"BulkNodesUpdateRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
},
"fields": {
"type": "object",
"properties": {
"countryCode": {
"type": "string",
"maxLength": 2
},
"consumptionMultiplier": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 100,
"exclusiveMaximum": false
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"tags": {
"type": "array",
"maxItems": 10,
"items": {
"type": "string",
"pattern": "^[A-Z0-9_:]+$",
"maxLength": 36
}
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
}
}
},
"required": [
"uuids",
"fields"
]
},
"BulkNodesUpdateResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"GetTorrentBlockerReportsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userId": {
"type": "number"
},
"nodeId": {
"type": "number"
},
"user": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
}
},
"required": [
"uuid",
"username"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"report": {
"type": "object",
"properties": {
"actionReport": {
"type": "object",
"properties": {
"blocked": {
"type": "boolean"
},
"ip": {
"type": "string"
},
"blockDuration": {
"type": "number"
},
"willUnblockAt": {
"type": "string",
"format": "date-time"
},
"userId": {
"type": "string"
},
"processedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"blocked",
"ip",
"blockDuration",
"willUnblockAt",
"userId",
"processedAt"
]
},
"xrayReport": {
"type": "object",
"properties": {
"email": {
"type": "string",
"nullable": true
},
"level": {
"type": "number",
"nullable": true
},
"protocol": {
"type": "string",
"nullable": true
},
"network": {
"type": "string"
},
"source": {
"type": "string",
"nullable": true
},
"destination": {
"type": "string"
},
"routeTarget": {
"type": "string",
"nullable": true
},
"originalTarget": {
"type": "string",
"nullable": true
},
"inboundTag": {
"type": "string",
"nullable": true
},
"inboundName": {
"type": "string",
"nullable": true
},
"inboundLocal": {
"type": "string",
"nullable": true
},
"outboundTag": {
"type": "string",
"nullable": true
},
"ts": {
"type": "number"
}
},
"required": [
"email",
"level",
"protocol",
"network",
"source",
"destination",
"routeTarget",
"originalTarget",
"inboundTag",
"inboundName",
"inboundLocal",
"outboundTag",
"ts"
]
}
},
"required": [
"actionReport",
"xrayReport"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"userId",
"nodeId",
"user",
"node",
"report",
"createdAt"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"GetTorrentBlockerReportsStatsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"stats": {
"type": "object",
"properties": {
"distinctNodes": {
"type": "number"
},
"distinctUsers": {
"type": "number"
},
"totalReports": {
"type": "number"
},
"reportsLast24Hours": {
"type": "number"
}
},
"required": [
"distinctNodes",
"distinctUsers",
"totalReports",
"reportsLast24Hours"
]
},
"topUsers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"color": {
"type": "string"
},
"username": {
"type": "string"
},
"total": {
"type": "number"
}
},
"required": [
"uuid",
"color",
"username",
"total"
]
}
},
"topNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"countryCode": {
"type": "string"
},
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
}
},
"required": [
"uuid",
"countryCode",
"color",
"name",
"total"
]
}
}
},
"required": [
"stats",
"topUsers",
"topNodes"
]
}
},
"required": [
"response"
]
},
"TruncateTorrentBlockerReportsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userId": {
"type": "number"
},
"nodeId": {
"type": "number"
},
"user": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
}
},
"required": [
"uuid",
"username"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"report": {
"type": "object",
"properties": {
"actionReport": {
"type": "object",
"properties": {
"blocked": {
"type": "boolean"
},
"ip": {
"type": "string"
},
"blockDuration": {
"type": "number"
},
"willUnblockAt": {
"type": "string",
"format": "date-time"
},
"userId": {
"type": "string"
},
"processedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"blocked",
"ip",
"blockDuration",
"willUnblockAt",
"userId",
"processedAt"
]
},
"xrayReport": {
"type": "object",
"properties": {
"email": {
"type": "string",
"nullable": true
},
"level": {
"type": "number",
"nullable": true
},
"protocol": {
"type": "string",
"nullable": true
},
"network": {
"type": "string"
},
"source": {
"type": "string",
"nullable": true
},
"destination": {
"type": "string"
},
"routeTarget": {
"type": "string",
"nullable": true
},
"originalTarget": {
"type": "string",
"nullable": true
},
"inboundTag": {
"type": "string",
"nullable": true
},
"inboundName": {
"type": "string",
"nullable": true
},
"inboundLocal": {
"type": "string",
"nullable": true
},
"outboundTag": {
"type": "string",
"nullable": true
},
"ts": {
"type": "number"
}
},
"required": [
"email",
"level",
"protocol",
"network",
"source",
"destination",
"routeTarget",
"originalTarget",
"inboundTag",
"inboundName",
"inboundLocal",
"outboundTag",
"ts"
]
}
},
"required": [
"actionReport",
"xrayReport"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"userId",
"nodeId",
"user",
"node",
"report",
"createdAt"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"GetNodePluginsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"nodePlugins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
}
},
"required": [
"total",
"nodePlugins"
]
}
},
"required": [
"response"
]
},
"GetNodePluginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
},
"required": [
"response"
]
},
"UpdateNodePluginRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
},
"pluginConfig": {}
},
"required": [
"uuid"
]
},
"UpdateNodePluginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
},
"required": [
"response"
]
},
"DeleteNodePluginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"CreateNodePluginRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30,
"pattern": "^[A-Za-z0-9_\\s-]+$"
}
},
"required": [
"name"
]
},
"CreateNodePluginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
},
"required": [
"response"
]
},
"ReorderNodePluginsRequestDto": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"items"
]
},
"ReorderNodePluginsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"nodePlugins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {
"nullable": true
}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
}
},
"required": [
"total",
"nodePlugins"
]
}
},
"required": [
"response"
]
},
"CloneNodePluginRequestDto": {
"type": "object",
"properties": {
"cloneFromUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"cloneFromUuid"
]
},
"CloneNodePluginResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"name": {
"type": "string"
},
"pluginConfig": {}
},
"required": [
"uuid",
"viewPosition",
"name",
"pluginConfig"
]
}
},
"required": [
"response"
]
},
"PluginExecutorRequestDto": {
"type": "object",
"properties": {
"command": {
"oneOf": [
{
"description": "Block IPs",
"type": "object",
"properties": {
"command": {
"type": "string",
"enum": [
"blockIps"
]
},
"ips": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string"
},
"timeout": {
"type": "number"
}
},
"required": [
"ip",
"timeout"
]
}
}
},
"required": [
"command",
"ips"
]
},
{
"description": "Unblock IPs",
"type": "object",
"properties": {
"command": {
"type": "string",
"enum": [
"unblockIps"
]
},
"ips": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"command",
"ips"
]
},
{
"description": "Recreate tables",
"type": "object",
"properties": {
"command": {
"type": "string",
"enum": [
"recreateTables"
]
}
},
"required": [
"command"
]
}
]
},
"targetNodes": {
"oneOf": [
{
"description": "Target all connected nodes",
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"allNodes"
]
}
},
"required": [
"target"
]
},
{
"description": "Target specific nodes",
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"specificNodes"
]
},
"nodeUuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"target",
"nodeUuids"
]
}
]
}
},
"required": [
"command",
"targetNodes"
]
},
"PluginExecutorResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"GetAllHostTagsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"tags"
]
}
},
"required": [
"response"
]
},
"CreateHostRequestDto": {
"type": "object",
"properties": {
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid"
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"remark": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string"
},
"sni": {
"type": "string"
},
"host": {
"type": "string"
},
"alpn": {
"type": "string",
"enum": [
"h3",
"h2",
"http/1.1",
"h2,http/1.1",
"h3,h2,http/1.1",
"h3,h2"
],
"x-enumNames": [
"H3",
"H2",
"HTTP_1_1",
"H_COMBINED",
"H3_H2_H1_COMBINED",
"H3_H2_COMBINED"
],
"nullable": true
},
"fingerprint": {
"type": "string",
"enum": [
"chrome",
"firefox",
"safari",
"ios",
"android",
"edge",
"qq",
"random",
"randomized"
],
"x-enumNames": [
"CHROME",
"FIREFOX",
"SAFARI",
"IOS",
"ANDROID",
"EDGE",
"QQ",
"RANDOM",
"RANDOMIZED"
],
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"description": "Optional. Host tag for categorization. Max 32 characters, uppercase letters, numbers, underscores and colons are allowed.",
"type": "string",
"pattern": "^[A-Z0-9_:]+$",
"maxLength": 32,
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"shuffleHost": {
"type": "boolean",
"default": false
},
"mihomoX25519": {
"type": "boolean",
"default": false
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"description": "Optional. Internal squads from which the host will be excluded.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"description": "Optional. Subscription types from which the host will be excluded from.",
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"inbound",
"remark",
"address",
"port"
]
},
"CreateHostResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
},
"required": [
"response"
]
},
"UpdateHostRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid"
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"remark": {
"type": "string",
"maxLength": 40
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string"
},
"sni": {
"type": "string"
},
"host": {
"type": "string"
},
"alpn": {
"type": "string",
"enum": [
"h3",
"h2",
"http/1.1",
"h2,http/1.1",
"h3,h2,http/1.1",
"h3,h2"
],
"x-enumNames": [
"H3",
"H2",
"HTTP_1_1",
"H_COMBINED",
"H3_H2_H1_COMBINED",
"H3_H2_COMBINED"
],
"nullable": true
},
"fingerprint": {
"type": "string",
"enum": [
"chrome",
"firefox",
"safari",
"ios",
"android",
"edge",
"qq",
"random",
"randomized"
],
"x-enumNames": [
"CHROME",
"FIREFOX",
"SAFARI",
"IOS",
"ANDROID",
"EDGE",
"QQ",
"RANDOM",
"RANDOMIZED"
],
"nullable": true
},
"isDisabled": {
"type": "boolean"
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
]
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"description": "Optional. Host tag for categorization. Max 32 characters, uppercase letters, numbers, underscores and colons are allowed.",
"type": "string",
"pattern": "^[A-Z0-9_:]+$",
"maxLength": 32,
"nullable": true
},
"isHidden": {
"type": "boolean"
},
"overrideSniFromAddress": {
"type": "boolean"
},
"keepSniBlank": {
"type": "boolean"
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean"
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"description": "Optional. Internal squads from which the host will be excluded.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"description": "Optional. Subscription types from which the host will be excluded from.",
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid"
]
},
"UpdateHostResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
},
"required": [
"response"
]
},
"GetAllHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"GetOneHostResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
},
"required": [
"response"
]
},
"ReorderHostRequestDto": {
"type": "object",
"properties": {
"hosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"viewPosition": {
"type": "integer"
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"viewPosition",
"uuid"
]
}
}
},
"required": [
"hosts"
]
},
"ReorderHostResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isUpdated": {
"type": "boolean"
}
},
"required": [
"isUpdated"
]
}
},
"required": [
"response"
]
},
"DeleteHostResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"BulkDeleteHostsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkDeleteHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"BulkDisableHostsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkDisableHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"BulkEnableHostsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"uuids"
]
},
"BulkEnableHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"SetInboundToManyHostsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"configProfileUuid": {
"type": "string",
"format": "uuid"
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"uuids",
"configProfileUuid",
"configProfileInboundUuid"
]
},
"SetInboundToManyHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"SetPortToManyHostsRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"port": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false
}
},
"required": [
"uuids",
"port"
]
},
"SetPortToManyHostsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"viewPosition": {
"type": "integer"
},
"remark": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer"
},
"path": {
"type": "string",
"nullable": true
},
"sni": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"alpn": {
"type": "string",
"nullable": true
},
"fingerprint": {
"type": "string",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"default": false
},
"securityLayer": {
"type": "string",
"enum": [
"DEFAULT",
"TLS",
"NONE"
],
"x-enumNames": [
"DEFAULT",
"TLS",
"NONE"
],
"default": "DEFAULT"
},
"xHttpExtraParams": {
"nullable": true
},
"muxParams": {
"nullable": true
},
"sockoptParams": {
"nullable": true
},
"finalMask": {
"nullable": true
},
"inbound": {
"type": "object",
"properties": {
"configProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"configProfileInboundUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"configProfileUuid",
"configProfileInboundUuid"
]
},
"serverDescription": {
"type": "string",
"maxLength": 30,
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"isHidden": {
"type": "boolean",
"default": false
},
"overrideSniFromAddress": {
"type": "boolean",
"default": false
},
"keepSniBlank": {
"type": "boolean",
"default": false
},
"vlessRouteId": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": false,
"maximum": 65535,
"exclusiveMaximum": false,
"nullable": true
},
"allowInsecure": {
"type": "boolean",
"default": false
},
"shuffleHost": {
"type": "boolean"
},
"mihomoX25519": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"xrayJsonTemplateUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"excludedInternalSquads": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"excludeFromSubscriptionTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX"
]
}
}
},
"required": [
"uuid",
"viewPosition",
"remark",
"address",
"port",
"path",
"sni",
"host",
"alpn",
"fingerprint",
"xHttpExtraParams",
"muxParams",
"sockoptParams",
"finalMask",
"inbound",
"serverDescription",
"tag",
"vlessRouteId",
"shuffleHost",
"mihomoX25519",
"nodes",
"xrayJsonTemplateUuid",
"excludedInternalSquads"
]
}
}
},
"required": [
"response"
]
},
"GetLegacyStatsNodesUsersUsageResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"total": {
"type": "number"
},
"date": {
"type": "string"
}
},
"required": [
"userUuid",
"username",
"nodeUuid",
"total",
"date"
]
}
}
},
"required": [
"response"
]
},
"GetStatsNodeUsersUsageResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"sparklineData": {
"type": "array",
"items": {
"type": "number"
}
},
"topUsers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"color": {
"type": "string"
},
"username": {
"type": "string"
},
"total": {
"type": "number"
}
},
"required": [
"color",
"username",
"total"
]
}
}
},
"required": [
"categories",
"sparklineData",
"topUsers"
]
}
},
"required": [
"response"
]
},
"GetLegacyStatsUserUsageResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"nodeName": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"total": {
"type": "number"
},
"date": {
"type": "string"
}
},
"required": [
"userUuid",
"nodeUuid",
"nodeName",
"countryCode",
"total",
"date"
]
}
}
},
"required": [
"response"
]
},
"GetStatsUserUsageResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"sparklineData": {
"type": "array",
"items": {
"type": "number"
}
},
"topNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"total": {
"type": "number"
}
},
"required": [
"uuid",
"color",
"name",
"countryCode",
"total"
]
}
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"total": {
"type": "number"
},
"data": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"uuid",
"name",
"color",
"countryCode",
"total",
"data"
]
}
}
},
"required": [
"categories",
"sparklineData",
"topNodes",
"series"
]
}
},
"required": [
"response"
]
},
"GetAllHwidDevicesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"devices",
"total"
]
}
},
"required": [
"response"
]
},
"CreateUserHwidDeviceRequestDto": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string"
},
"osVersion": {
"type": "string"
},
"deviceModel": {
"type": "string"
},
"userAgent": {
"type": "string"
}
},
"required": [
"hwid",
"userUuid"
]
},
"CreateUserHwidDeviceResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"devices"
]
}
},
"required": [
"response"
]
},
"DeleteUserHwidDeviceRequestDto": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
},
"hwid": {
"type": "string"
}
},
"required": [
"userUuid",
"hwid"
]
},
"DeleteUserHwidDeviceResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"devices"
]
}
},
"required": [
"response"
]
},
"DeleteAllUserHwidDevicesRequestDto": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"userUuid"
]
},
"DeleteAllUserHwidDevicesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"devices"
]
}
},
"required": [
"response"
]
},
"GetHwidDevicesStatsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"byPlatform": {
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"platform",
"count"
]
}
},
"byApp": {
"type": "array",
"items": {
"type": "object",
"properties": {
"app": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"app",
"count"
]
}
},
"stats": {
"type": "object",
"properties": {
"totalUniqueDevices": {
"type": "number"
},
"totalHwidDevices": {
"type": "number"
},
"averageHwidDevicesPerUser": {
"type": "number"
}
},
"required": [
"totalUniqueDevices",
"totalHwidDevices",
"averageHwidDevicesPerUser"
]
}
},
"required": [
"byPlatform",
"byApp",
"stats"
]
}
},
"required": [
"response"
]
},
"GetTopUsersByHwidDevicesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userUuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"username": {
"type": "string"
},
"devicesCount": {
"type": "number"
}
},
"required": [
"userUuid",
"id",
"username",
"devicesCount"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"users",
"total"
]
}
},
"required": [
"response"
]
},
"GetUserHwidDevicesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
}
},
"required": [
"total",
"devices"
]
}
},
"required": [
"response"
]
},
"GetStatsNodesUsageResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"sparklineData": {
"type": "array",
"items": {
"type": "number"
}
},
"topNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"total": {
"type": "number"
}
},
"required": [
"uuid",
"color",
"name",
"countryCode",
"total"
]
}
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"total": {
"type": "number"
},
"data": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"uuid",
"name",
"color",
"countryCode",
"total",
"data"
]
}
}
},
"required": [
"categories",
"sparklineData",
"topNodes",
"series"
]
}
},
"required": [
"response"
]
},
"GetInfraProvidersResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"billingHistory": {
"type": "object",
"properties": {
"totalAmount": {
"type": "number"
},
"totalBills": {
"type": "number"
}
},
"required": [
"totalAmount",
"totalBills"
]
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"nodeUuid",
"name",
"countryCode"
]
}
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt",
"billingHistory",
"billingNodes"
]
}
}
},
"required": [
"total",
"providers"
]
}
},
"required": [
"response"
]
},
"GetInfraProviderByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"billingHistory": {
"type": "object",
"properties": {
"totalAmount": {
"type": "number"
},
"totalBills": {
"type": "number"
}
},
"required": [
"totalAmount",
"totalBills"
]
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"nodeUuid",
"name",
"countryCode"
]
}
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt",
"billingHistory",
"billingNodes"
]
}
},
"required": [
"response"
]
},
"DeleteInfraProviderByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isDeleted": {
"type": "boolean"
}
},
"required": [
"isDeleted"
]
}
},
"required": [
"response"
]
},
"CreateInfraProviderRequestDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"faviconLink": {
"type": "string",
"format": "uri"
},
"loginUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"name"
]
},
"CreateInfraProviderResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"billingHistory": {
"type": "object",
"properties": {
"totalAmount": {
"type": "number"
},
"totalBills": {
"type": "number"
}
},
"required": [
"totalAmount",
"totalBills"
]
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"nodeUuid",
"name",
"countryCode"
]
}
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt",
"billingHistory",
"billingNodes"
]
}
},
"required": [
"response"
]
},
"UpdateInfraProviderRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"faviconLink": {
"type": "string",
"format": "uri",
"nullable": true
},
"loginUrl": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"uuid"
]
},
"UpdateInfraProviderResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"billingHistory": {
"type": "object",
"properties": {
"totalAmount": {
"type": "number"
},
"totalBills": {
"type": "number"
}
},
"required": [
"totalAmount",
"totalBills"
]
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"nodeUuid",
"name",
"countryCode"
]
}
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt",
"billingHistory",
"billingNodes"
]
}
},
"required": [
"response"
]
},
"CreateInfraBillingHistoryRecordRequestDto": {
"type": "object",
"properties": {
"providerUuid": {
"type": "string",
"format": "uuid"
},
"amount": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": false
},
"billedAt": {
"description": "Billing date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
}
},
"required": [
"providerUuid",
"amount",
"billedAt"
]
},
"CreateInfraBillingHistoryRecordResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"amount": {
"type": "number"
},
"billedAt": {
"type": "string",
"format": "date-time"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"faviconLink"
]
}
},
"required": [
"uuid",
"providerUuid",
"amount",
"billedAt",
"provider"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"GetInfraBillingHistoryRecordsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"amount": {
"type": "number"
},
"billedAt": {
"type": "string",
"format": "date-time"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"faviconLink"
]
}
},
"required": [
"uuid",
"providerUuid",
"amount",
"billedAt",
"provider"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"DeleteInfraBillingHistoryRecordByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"amount": {
"type": "number"
},
"billedAt": {
"type": "string",
"format": "date-time"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"faviconLink"
]
}
},
"required": [
"uuid",
"providerUuid",
"amount",
"billedAt",
"provider"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"GetInfraBillingNodesResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"totalBillingNodes": {
"type": "number"
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"loginUrl": {
"type": "string",
"nullable": true
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"loginUrl",
"faviconLink"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"nodeUuid",
"providerUuid",
"provider",
"node",
"nextBillingAt",
"createdAt",
"updatedAt"
]
}
},
"availableBillingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"totalAvailableBillingNodes": {
"type": "number"
},
"stats": {
"type": "object",
"properties": {
"upcomingNodesCount": {
"type": "number"
},
"currentMonthPayments": {
"type": "number"
},
"totalSpent": {
"type": "number"
}
},
"required": [
"upcomingNodesCount",
"currentMonthPayments",
"totalSpent"
]
}
},
"required": [
"totalBillingNodes",
"billingNodes",
"availableBillingNodes",
"totalAvailableBillingNodes",
"stats"
]
}
},
"required": [
"response"
]
},
"UpdateInfraBillingNodeRequestDto": {
"type": "object",
"properties": {
"uuids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuids",
"nextBillingAt"
]
},
"UpdateInfraBillingNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"totalBillingNodes": {
"type": "number"
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"loginUrl": {
"type": "string",
"nullable": true
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"loginUrl",
"faviconLink"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"nodeUuid",
"providerUuid",
"provider",
"node",
"nextBillingAt",
"createdAt",
"updatedAt"
]
}
},
"availableBillingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"totalAvailableBillingNodes": {
"type": "number"
},
"stats": {
"type": "object",
"properties": {
"upcomingNodesCount": {
"type": "number"
},
"currentMonthPayments": {
"type": "number"
},
"totalSpent": {
"type": "number"
}
},
"required": [
"upcomingNodesCount",
"currentMonthPayments",
"totalSpent"
]
}
},
"required": [
"totalBillingNodes",
"billingNodes",
"availableBillingNodes",
"totalAvailableBillingNodes",
"stats"
]
}
},
"required": [
"response"
]
},
"CreateInfraBillingNodeRequestDto": {
"type": "object",
"properties": {
"providerUuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"nextBillingAt": {
"description": "Next billing date. Format: 2025-01-17T15:38:45.065Z",
"type": "string",
"format": "date-time"
}
},
"required": [
"providerUuid",
"nodeUuid"
]
},
"CreateInfraBillingNodeResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"totalBillingNodes": {
"type": "number"
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"loginUrl": {
"type": "string",
"nullable": true
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"loginUrl",
"faviconLink"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"nodeUuid",
"providerUuid",
"provider",
"node",
"nextBillingAt",
"createdAt",
"updatedAt"
]
}
},
"availableBillingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"totalAvailableBillingNodes": {
"type": "number"
},
"stats": {
"type": "object",
"properties": {
"upcomingNodesCount": {
"type": "number"
},
"currentMonthPayments": {
"type": "number"
},
"totalSpent": {
"type": "number"
}
},
"required": [
"upcomingNodesCount",
"currentMonthPayments",
"totalSpent"
]
}
},
"required": [
"totalBillingNodes",
"billingNodes",
"availableBillingNodes",
"totalAvailableBillingNodes",
"stats"
]
}
},
"required": [
"response"
]
},
"DeleteInfraBillingNodeByUuidResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"totalBillingNodes": {
"type": "number"
},
"billingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"providerUuid": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"loginUrl": {
"type": "string",
"nullable": true
},
"faviconLink": {
"type": "string",
"nullable": true
}
},
"required": [
"uuid",
"name",
"loginUrl",
"faviconLink"
]
},
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"nodeUuid",
"providerUuid",
"provider",
"node",
"nextBillingAt",
"createdAt",
"updatedAt"
]
}
},
"availableBillingNodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"countryCode": {
"type": "string"
}
},
"required": [
"uuid",
"name",
"countryCode"
]
}
},
"totalAvailableBillingNodes": {
"type": "number"
},
"stats": {
"type": "object",
"properties": {
"upcomingNodesCount": {
"type": "number"
},
"currentMonthPayments": {
"type": "number"
},
"totalSpent": {
"type": "number"
}
},
"required": [
"upcomingNodesCount",
"currentMonthPayments",
"totalSpent"
]
}
},
"required": [
"totalBillingNodes",
"billingNodes",
"availableBillingNodes",
"totalAvailableBillingNodes",
"stats"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionRequestHistoryResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"requestIp": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"requestAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"userUuid",
"requestIp",
"userAgent",
"requestAt"
]
}
},
"total": {
"type": "number"
}
},
"required": [
"records",
"total"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionRequestHistoryStatsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"byParsedApp": {
"type": "array",
"items": {
"type": "object",
"properties": {
"app": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"app",
"count"
]
}
},
"hourlyRequestStats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dateTime": {
"type": "string",
"format": "date-time"
},
"requestCount": {
"type": "number"
}
},
"required": [
"dateTime",
"requestCount"
]
}
}
},
"required": [
"byParsedApp",
"hourlyRequestStats"
]
}
},
"required": [
"response"
]
},
"GetMetadataResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"build": {
"type": "object",
"properties": {
"time": {
"type": "string"
},
"number": {
"type": "string"
}
},
"required": [
"time",
"number"
]
},
"git": {
"type": "object",
"properties": {
"backend": {
"type": "object",
"properties": {
"commitSha": {
"type": "string"
},
"branch": {
"type": "string"
},
"commitUrl": {
"type": "string"
}
},
"required": [
"commitSha",
"branch",
"commitUrl"
]
},
"frontend": {
"type": "object",
"properties": {
"commitSha": {
"type": "string"
},
"commitUrl": {
"type": "string"
}
},
"required": [
"commitSha",
"commitUrl"
]
}
},
"required": [
"backend",
"frontend"
]
}
},
"required": [
"version",
"build",
"git"
]
}
},
"required": [
"response"
]
},
"GetStatsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"cpu": {
"type": "object",
"properties": {
"cores": {
"type": "number"
}
},
"required": [
"cores"
]
},
"memory": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"free": {
"type": "number"
},
"used": {
"type": "number"
}
},
"required": [
"total",
"free",
"used"
]
},
"uptime": {
"type": "number"
},
"timestamp": {
"type": "number"
},
"users": {
"type": "object",
"properties": {
"statusCounts": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"totalUsers": {
"type": "number"
}
},
"required": [
"statusCounts",
"totalUsers"
]
},
"onlineStats": {
"type": "object",
"properties": {
"lastDay": {
"type": "number"
},
"lastWeek": {
"type": "number"
},
"neverOnline": {
"type": "number"
},
"onlineNow": {
"type": "number"
}
},
"required": [
"lastDay",
"lastWeek",
"neverOnline",
"onlineNow"
]
},
"nodes": {
"type": "object",
"properties": {
"totalOnline": {
"type": "number"
},
"totalBytesLifetime": {
"type": "string"
}
},
"required": [
"totalOnline",
"totalBytesLifetime"
]
}
},
"required": [
"cpu",
"memory",
"uptime",
"timestamp",
"users",
"onlineStats",
"nodes"
]
}
},
"required": [
"response"
]
},
"GetBandwidthStatsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"bandwidthLastTwoDays": {
"type": "object",
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"difference": {
"type": "string"
}
},
"required": [
"current",
"previous",
"difference"
]
},
"bandwidthLastSevenDays": {
"type": "object",
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"difference": {
"type": "string"
}
},
"required": [
"current",
"previous",
"difference"
]
},
"bandwidthLast30Days": {
"type": "object",
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"difference": {
"type": "string"
}
},
"required": [
"current",
"previous",
"difference"
]
},
"bandwidthCalendarMonth": {
"type": "object",
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"difference": {
"type": "string"
}
},
"required": [
"current",
"previous",
"difference"
]
},
"bandwidthCurrentYear": {
"type": "object",
"properties": {
"current": {
"type": "string"
},
"previous": {
"type": "string"
},
"difference": {
"type": "string"
}
},
"required": [
"current",
"previous",
"difference"
]
}
},
"required": [
"bandwidthLastTwoDays",
"bandwidthLastSevenDays",
"bandwidthLast30Days",
"bandwidthCalendarMonth",
"bandwidthCurrentYear"
]
}
},
"required": [
"response"
]
},
"GetNodesStatisticsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"lastSevenDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeName": {
"type": "string"
},
"date": {
"type": "string"
},
"totalBytes": {
"type": "string"
}
},
"required": [
"nodeName",
"date",
"totalBytes"
]
}
}
},
"required": [
"lastSevenDays"
]
}
},
"required": [
"response"
]
},
"GetRemnawaveHealthResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"runtimeMetrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rss": {
"type": "number"
},
"heapUsed": {
"type": "number"
},
"heapTotal": {
"type": "number"
},
"external": {
"type": "number"
},
"arrayBuffers": {
"type": "number"
},
"eventLoopDelayMs": {
"type": "number"
},
"eventLoopP99Ms": {
"type": "number"
},
"activeHandles": {
"type": "number"
},
"uptime": {
"type": "number"
},
"pid": {
"type": "number"
},
"timestamp": {
"type": "number"
},
"instanceId": {
"type": "string"
},
"instanceType": {
"type": "string"
}
},
"required": [
"rss",
"heapUsed",
"heapTotal",
"external",
"arrayBuffers",
"eventLoopDelayMs",
"eventLoopP99Ms",
"activeHandles",
"uptime",
"pid",
"timestamp",
"instanceId",
"instanceType"
]
}
}
},
"required": [
"runtimeMetrics"
]
}
},
"required": [
"response"
]
},
"GetNodesMetricsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"countryEmoji": {
"type": "string"
},
"providerName": {
"type": "string"
},
"usersOnline": {
"type": "number"
},
"inboundsStats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tag": {
"type": "string"
},
"upload": {
"type": "string"
},
"download": {
"type": "string"
}
},
"required": [
"tag",
"upload",
"download"
]
}
},
"outboundsStats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tag": {
"type": "string"
},
"upload": {
"type": "string"
},
"download": {
"type": "string"
}
},
"required": [
"tag",
"upload",
"download"
]
}
}
},
"required": [
"nodeUuid",
"nodeName",
"countryEmoji",
"providerName",
"usersOnline",
"inboundsStats",
"outboundsStats"
]
}
}
},
"required": [
"nodes"
]
}
},
"required": [
"response"
]
},
"GenerateX25519ResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"keypairs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"publicKey": {
"type": "string"
},
"privateKey": {
"type": "string"
}
},
"required": [
"publicKey",
"privateKey"
]
}
}
},
"required": [
"keypairs"
]
}
},
"required": [
"response"
]
},
"EncryptHappCryptoLinkRequestDto": {
"type": "object",
"properties": {
"linkToEncrypt": {
"type": "string",
"format": "uri"
}
},
"required": [
"linkToEncrypt"
]
},
"EncryptHappCryptoLinkResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"encryptedLink": {
"type": "string"
}
},
"required": [
"encryptedLink"
]
}
},
"required": [
"response"
]
},
"DebugSrrMatcherRequestDto": {
"type": "object",
"properties": {
"responseRules": {
"type": "object",
"properties": {
"version": {
"description": "{\"title\":\"Response Rules Config Version\",\"markdownDescription\":\"Version of the **response rules** config. Currently supported version is **1**.\"}",
"type": "string",
"enum": [
"1"
],
"x-enumNames": [
"1"
]
},
"settings": {
"description": "{\"markdownDescription\":\"Settings for the **response rules** config. Optional.\"}",
"type": "object",
"properties": {
"disableSubscriptionAccessByPath": {
"description": "{\"markdownDescription\":\"Usually, a user's subscription may also be available via additional paths such as **/json**, **/stash**, or **/mihomo**. If this flag is set to **true**, access via these additional paths will be disabled.\"}",
"type": "boolean"
}
}
},
"rules": {
"description": "{\"title\":\"Response Rules\",\"markdownDescription\":\"Array of **response rules**. Rules are evaluated in order and the first rule that matches is applied. If no rule matches, request will be blocked by default.\\n\\n**Example:**\\n```json\\n[\\n {\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n }\\n]\\n```\",\"defaultSnippets\":[]}",
"type": "array",
"items": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Blank rule\",\"markdownDescription\":\"Simple blank rule with no conditions or modifications.\\n```json\\n{\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n}\\n```\",\"body\":{\"name\":\"Blank rule\",\"description\":\"Blank rule\",\"operator\":\"AND\",\"enabled\":true,\"conditions\":[],\"responseType\":\"BLOCK\",\"responseModifications\":{\"headers\":[]}}},{\"label\":\"Examples: Block Legacy Clients\",\"markdownDescription\":\"Block requests from legacy clients\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\",\"body\":{\"name\":\"Block Legacy Clients\",\"description\":\"Block requests from legacy clients\",\"enabled\":true,\"operator\":\"OR\",\"conditions\":[{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"Hiddify\",\"caseSensitive\":true},{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"FoxRay\",\"caseSensitive\":true}],\"responseType\":\"BLOCK\"}}],\"title\":\"Response Rule\",\"markdownDescription\":\"Response rule configuration.\\n\\n**Fields:**\\n- **name**: Name of the response rule.\\n- **description**: Description of the response rule. Optional.\\n- **enabled**: Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\\n- **operator**: Operator to use for combining conditions in the rule.\\n- **conditions**: Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\\n- **responseType**: Type of the response. Determines the type of **response** to be returned when the rule is matched.\\n- **responseModifications**: Response modifications to be applied when the rule is matched. Optional.\\n\\n**Example:**\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\"}",
"type": "object",
"properties": {
"name": {
"description": "{\"markdownDescription\":\"Name of the response rule.\"}",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"description": "{\"markdownDescription\":\"Description of the response rule. Optional.\"}",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"enabled": {
"description": "{\"markdownDescription\":\"Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\"}",
"type": "boolean"
},
"operator": {
"description": "{\"markdownDescription\":\"Operator to use for combining conditions in the rule.\"}",
"type": "string",
"enum": [
"AND",
"OR"
],
"x-enumNames": [
"AND",
"OR"
]
},
"conditions": {
"description": "{\"markdownDescription\":\"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"Condition to check against the **headerName**.\",\"defaultSnippets\":[{\"label\":\"Examples: Check if header contains \\\"text/html\\\"\",\"markdownDescription\":\"Condition to check if **headerName** contains \\\"text/html\\\"\",\"body\":{\"headerName\":\"accept\",\"operator\":\"CONTAINS\",\"value\":\"text/html\",\"caseSensitive\":true}}]}",
"type": "object",
"properties": {
"headerName": {
"description": "{\"markdownDescription\":\"**Name** of the HTTP header to check. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"operator": {
"description": "{\"errorMessage\":\"Invalid operator. Please select a valid operator.\",\"markdownDescription\":\"Operator to use for comparing the `headerName` with `value`.\",\"markdownEnumDescriptions\":[\"Performs an exact, comparison between the header value and specified string. `string === value`\",\"Ensures the header value does not exactly match the specified string. `string !== value`\",\"Checks if the header value contains the specified string as a substring. `string.includes()`\",\"Verifies the header value does not contain the specified string as a substring. `!string.includes()`\",\"Validates that the header value begins with the specified string. `string.startsWith()`\",\"Validates that the header value does not begin with the specified string. `!string.startsWith()`\",\"Confirms the header value ends with the specified string. `string.endsWith()`\",\"Confirms the header value does not end with the specified string. `!string.endsWith()`\",\"Evaluates if the header value matches the specified regular expression pattern. `regex.test()`\",\"Evaluates if the header value does not match the specified regular expression pattern. `!regex.test()`\"]}",
"type": "string",
"enum": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
],
"x-enumNames": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
]
},
"value": {
"description": "{\"markdownDescription\":\"**Value** to check against the **headerName**.\"}",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"caseSensitive": {
"description": "{\"markdownDescription\":\"Whether the value is **case sensitive**. \\n\\n - `true`: the value will be compared as is. \\n\\n - `false`: the value will be lowercased **before** comparison.\"}",
"type": "boolean"
}
},
"required": [
"headerName",
"operator",
"value",
"caseSensitive"
]
}
},
"responseType": {
"description": "{\"errorMessage\":\"Invalid response type. Please select a valid response type.\",\"markdownDescription\":\"Type of the response. Determines the type of **response** to be returned when the rule is matched.\",\"markdownEnumDescriptions\":[\"Return **subscription** in XRAY-JSON format. (Using `Xray Json` template)\",\"Return **subscription** in BASE64 encoded string. Compatible with most client application with Xray core.\",\"Return **subscription** in Mihomo format. (Using `Mihomo` template)\",\"Return **subscription** in Stash format. (Using `Stash` template)\",\"Return **subscription** in Clash format. (Using `Clash` template) Useful for client application that use Legacy Clash core.\",\"Return **subscription** in Singbox format. (Using `Singbox` template) Format which is used by Singbox client application.\",\"Return **subscription** as browser format. The same as on `/info` route.\",\"**Drop** request and return `403` status code.\",\"**Drop** request and return `404` status code.\",\"**Drop** request and return `451` status code.\",\"**Drop** the socket connection.\"]}",
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"responseModifications": {
"description": "{\"examples\":[{\"headers\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Response modifications to be applied when the rule is matched. Optional.\"}",
"type": "object",
"properties": {
"headers": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Add custom header\",\"markdownDescription\":\"Add a custom header to the response\",\"body\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Array of headers to be added when the rule is matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"**Key** and **value** of the response header will be added to the response.\"}",
"type": "object",
"properties": {
"key": {
"description": "{\"markdownDescription\":\"Key of the response header. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"value": {
"description": "{\"markdownDescription\":\"Value of the response header. \"}",
"type": "string",
"minLength": 1
}
},
"required": [
"key",
"value"
]
}
},
"applyHeadersToEnd": {
"description": "{\"markdownDescription\":\"By default, headers are added when forming the response. In some cases, headers set in SRR may be overridden by headers from other parts of the system. If you set this flag to **true**, headers from SRR will be added at the very end, just before the response is sent. In this case, SRR headers may override headers from other sections.\"}",
"type": "boolean"
},
"subscriptionTemplate": {
"description": "{\"markdownDescription\":\"Override the subscription template with the given name. If not provided, the default subscription template will be used. If the template name is not found, the default subscription template for this type will be used. **This modification have higher priority than settings from External Squads.**\"}",
"type": "string",
"minLength": 1
},
"ignoreHostXrayJsonTemplate": {
"description": "{\"markdownDescription\":\"Each Host may have its own Xray Json Template. If you set this flag to **true**, the Xray Json Template defined by the SRR will be used. **The Host's Xray Json Template will be ignored.**\"}",
"type": "boolean"
},
"ignoreServeJsonAtBaseSubscription": {
"description": "{\"markdownDescription\":\"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**).\"}",
"type": "boolean"
},
"additionalExtendedClientsRegex": {
"description": "{\"markdownDescription\":\"Additional regex patterns to match extended clients. Matched clients will receive `serverDescription` in the subscription response.\\n\\n**Default Mihomo extended clients:**\\n- `^FlClash ?X/`\\n- `^Flowvy/`\\n- `^prizrak-box/`\\n- `^koala-clash/`\\n\\n**Default Xray extended clients:**\\n- `^Happ/`\\n- `^INCY/`\\n\\n**Example:** `[\\\"^MyClient/\\\", \\\"^CustomApp\\\\\\\\/v2\\\"]`\"}",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"required": [
"name",
"enabled",
"operator",
"conditions",
"responseType"
]
}
}
},
"required": [
"version",
"rules"
]
}
},
"required": [
"responseRules"
]
},
"DebugSrrMatcherResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"matched": {
"type": "boolean"
},
"responseType": {
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"matchedRule": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Blank rule\",\"markdownDescription\":\"Simple blank rule with no conditions or modifications.\\n```json\\n{\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n}\\n```\",\"body\":{\"name\":\"Blank rule\",\"description\":\"Blank rule\",\"operator\":\"AND\",\"enabled\":true,\"conditions\":[],\"responseType\":\"BLOCK\",\"responseModifications\":{\"headers\":[]}}},{\"label\":\"Examples: Block Legacy Clients\",\"markdownDescription\":\"Block requests from legacy clients\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\",\"body\":{\"name\":\"Block Legacy Clients\",\"description\":\"Block requests from legacy clients\",\"enabled\":true,\"operator\":\"OR\",\"conditions\":[{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"Hiddify\",\"caseSensitive\":true},{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"FoxRay\",\"caseSensitive\":true}],\"responseType\":\"BLOCK\"}}],\"title\":\"Response Rule\",\"markdownDescription\":\"Response rule configuration.\\n\\n**Fields:**\\n- **name**: Name of the response rule.\\n- **description**: Description of the response rule. Optional.\\n- **enabled**: Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\\n- **operator**: Operator to use for combining conditions in the rule.\\n- **conditions**: Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\\n- **responseType**: Type of the response. Determines the type of **response** to be returned when the rule is matched.\\n- **responseModifications**: Response modifications to be applied when the rule is matched. Optional.\\n\\n**Example:**\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\"}",
"type": "object",
"properties": {
"name": {
"description": "{\"markdownDescription\":\"Name of the response rule.\"}",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"description": "{\"markdownDescription\":\"Description of the response rule. Optional.\"}",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"enabled": {
"description": "{\"markdownDescription\":\"Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\"}",
"type": "boolean"
},
"operator": {
"description": "{\"markdownDescription\":\"Operator to use for combining conditions in the rule.\"}",
"type": "string",
"enum": [
"AND",
"OR"
],
"x-enumNames": [
"AND",
"OR"
]
},
"conditions": {
"description": "{\"markdownDescription\":\"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"Condition to check against the **headerName**.\",\"defaultSnippets\":[{\"label\":\"Examples: Check if header contains \\\"text/html\\\"\",\"markdownDescription\":\"Condition to check if **headerName** contains \\\"text/html\\\"\",\"body\":{\"headerName\":\"accept\",\"operator\":\"CONTAINS\",\"value\":\"text/html\",\"caseSensitive\":true}}]}",
"type": "object",
"properties": {
"headerName": {
"description": "{\"markdownDescription\":\"**Name** of the HTTP header to check. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"operator": {
"description": "{\"errorMessage\":\"Invalid operator. Please select a valid operator.\",\"markdownDescription\":\"Operator to use for comparing the `headerName` with `value`.\",\"markdownEnumDescriptions\":[\"Performs an exact, comparison between the header value and specified string. `string === value`\",\"Ensures the header value does not exactly match the specified string. `string !== value`\",\"Checks if the header value contains the specified string as a substring. `string.includes()`\",\"Verifies the header value does not contain the specified string as a substring. `!string.includes()`\",\"Validates that the header value begins with the specified string. `string.startsWith()`\",\"Validates that the header value does not begin with the specified string. `!string.startsWith()`\",\"Confirms the header value ends with the specified string. `string.endsWith()`\",\"Confirms the header value does not end with the specified string. `!string.endsWith()`\",\"Evaluates if the header value matches the specified regular expression pattern. `regex.test()`\",\"Evaluates if the header value does not match the specified regular expression pattern. `!regex.test()`\"]}",
"type": "string",
"enum": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
],
"x-enumNames": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
]
},
"value": {
"description": "{\"markdownDescription\":\"**Value** to check against the **headerName**.\"}",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"caseSensitive": {
"description": "{\"markdownDescription\":\"Whether the value is **case sensitive**. \\n\\n - `true`: the value will be compared as is. \\n\\n - `false`: the value will be lowercased **before** comparison.\"}",
"type": "boolean"
}
},
"required": [
"headerName",
"operator",
"value",
"caseSensitive"
]
}
},
"responseType": {
"description": "{\"errorMessage\":\"Invalid response type. Please select a valid response type.\",\"markdownDescription\":\"Type of the response. Determines the type of **response** to be returned when the rule is matched.\",\"markdownEnumDescriptions\":[\"Return **subscription** in XRAY-JSON format. (Using `Xray Json` template)\",\"Return **subscription** in BASE64 encoded string. Compatible with most client application with Xray core.\",\"Return **subscription** in Mihomo format. (Using `Mihomo` template)\",\"Return **subscription** in Stash format. (Using `Stash` template)\",\"Return **subscription** in Clash format. (Using `Clash` template) Useful for client application that use Legacy Clash core.\",\"Return **subscription** in Singbox format. (Using `Singbox` template) Format which is used by Singbox client application.\",\"Return **subscription** as browser format. The same as on `/info` route.\",\"**Drop** request and return `403` status code.\",\"**Drop** request and return `404` status code.\",\"**Drop** request and return `451` status code.\",\"**Drop** the socket connection.\"]}",
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"responseModifications": {
"description": "{\"examples\":[{\"headers\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Response modifications to be applied when the rule is matched. Optional.\"}",
"type": "object",
"properties": {
"headers": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Add custom header\",\"markdownDescription\":\"Add a custom header to the response\",\"body\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Array of headers to be added when the rule is matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"**Key** and **value** of the response header will be added to the response.\"}",
"type": "object",
"properties": {
"key": {
"description": "{\"markdownDescription\":\"Key of the response header. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"value": {
"description": "{\"markdownDescription\":\"Value of the response header. \"}",
"type": "string",
"minLength": 1
}
},
"required": [
"key",
"value"
]
}
},
"applyHeadersToEnd": {
"description": "{\"markdownDescription\":\"By default, headers are added when forming the response. In some cases, headers set in SRR may be overridden by headers from other parts of the system. If you set this flag to **true**, headers from SRR will be added at the very end, just before the response is sent. In this case, SRR headers may override headers from other sections.\"}",
"type": "boolean"
},
"subscriptionTemplate": {
"description": "{\"markdownDescription\":\"Override the subscription template with the given name. If not provided, the default subscription template will be used. If the template name is not found, the default subscription template for this type will be used. **This modification have higher priority than settings from External Squads.**\"}",
"type": "string",
"minLength": 1
},
"ignoreHostXrayJsonTemplate": {
"description": "{\"markdownDescription\":\"Each Host may have its own Xray Json Template. If you set this flag to **true**, the Xray Json Template defined by the SRR will be used. **The Host's Xray Json Template will be ignored.**\"}",
"type": "boolean"
},
"ignoreServeJsonAtBaseSubscription": {
"description": "{\"markdownDescription\":\"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**).\"}",
"type": "boolean"
},
"additionalExtendedClientsRegex": {
"description": "{\"markdownDescription\":\"Additional regex patterns to match extended clients. Matched clients will receive `serverDescription` in the subscription response.\\n\\n**Default Mihomo extended clients:**\\n- `^FlClash ?X/`\\n- `^Flowvy/`\\n- `^prizrak-box/`\\n- `^koala-clash/`\\n\\n**Default Xray extended clients:**\\n- `^Happ/`\\n- `^INCY/`\\n\\n**Example:** `[\\\"^MyClient/\\\", \\\"^CustomApp\\\\\\\\/v2\\\"]`\"}",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"required": [
"name",
"enabled",
"operator",
"conditions",
"responseType"
],
"nullable": true
},
"inputHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"outputHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"matched",
"responseType",
"matchedRule",
"inputHeaders",
"outputHeaders"
]
}
},
"required": [
"response"
]
},
"GetRecapResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"thisMonth": {
"type": "object",
"properties": {
"users": {
"type": "number"
},
"traffic": {
"type": "string"
}
},
"required": [
"users",
"traffic"
]
},
"total": {
"type": "object",
"properties": {
"users": {
"type": "number"
},
"nodes": {
"type": "number"
},
"traffic": {
"type": "string"
},
"nodesRam": {
"type": "string"
},
"nodesCpuCores": {
"type": "number"
},
"distinctCountries": {
"type": "number"
}
},
"required": [
"users",
"nodes",
"traffic",
"nodesRam",
"nodesCpuCores",
"distinctCountries"
]
},
"version": {
"type": "string"
},
"initDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"thisMonth",
"total",
"version",
"initDate"
]
}
},
"required": [
"response"
]
},
"GetSubscriptionSettingsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
]
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"customResponseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
},
"responseRules": {
"type": "object",
"properties": {
"version": {
"description": "{\"title\":\"Response Rules Config Version\",\"markdownDescription\":\"Version of the **response rules** config. Currently supported version is **1**.\"}",
"type": "string",
"enum": [
"1"
],
"x-enumNames": [
"1"
]
},
"settings": {
"description": "{\"markdownDescription\":\"Settings for the **response rules** config. Optional.\"}",
"type": "object",
"properties": {
"disableSubscriptionAccessByPath": {
"description": "{\"markdownDescription\":\"Usually, a user's subscription may also be available via additional paths such as **/json**, **/stash**, or **/mihomo**. If this flag is set to **true**, access via these additional paths will be disabled.\"}",
"type": "boolean"
}
}
},
"rules": {
"description": "{\"title\":\"Response Rules\",\"markdownDescription\":\"Array of **response rules**. Rules are evaluated in order and the first rule that matches is applied. If no rule matches, request will be blocked by default.\\n\\n**Example:**\\n```json\\n[\\n {\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n }\\n]\\n```\",\"defaultSnippets\":[]}",
"type": "array",
"items": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Blank rule\",\"markdownDescription\":\"Simple blank rule with no conditions or modifications.\\n```json\\n{\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n}\\n```\",\"body\":{\"name\":\"Blank rule\",\"description\":\"Blank rule\",\"operator\":\"AND\",\"enabled\":true,\"conditions\":[],\"responseType\":\"BLOCK\",\"responseModifications\":{\"headers\":[]}}},{\"label\":\"Examples: Block Legacy Clients\",\"markdownDescription\":\"Block requests from legacy clients\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\",\"body\":{\"name\":\"Block Legacy Clients\",\"description\":\"Block requests from legacy clients\",\"enabled\":true,\"operator\":\"OR\",\"conditions\":[{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"Hiddify\",\"caseSensitive\":true},{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"FoxRay\",\"caseSensitive\":true}],\"responseType\":\"BLOCK\"}}],\"title\":\"Response Rule\",\"markdownDescription\":\"Response rule configuration.\\n\\n**Fields:**\\n- **name**: Name of the response rule.\\n- **description**: Description of the response rule. Optional.\\n- **enabled**: Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\\n- **operator**: Operator to use for combining conditions in the rule.\\n- **conditions**: Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\\n- **responseType**: Type of the response. Determines the type of **response** to be returned when the rule is matched.\\n- **responseModifications**: Response modifications to be applied when the rule is matched. Optional.\\n\\n**Example:**\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\"}",
"type": "object",
"properties": {
"name": {
"description": "{\"markdownDescription\":\"Name of the response rule.\"}",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"description": "{\"markdownDescription\":\"Description of the response rule. Optional.\"}",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"enabled": {
"description": "{\"markdownDescription\":\"Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\"}",
"type": "boolean"
},
"operator": {
"description": "{\"markdownDescription\":\"Operator to use for combining conditions in the rule.\"}",
"type": "string",
"enum": [
"AND",
"OR"
],
"x-enumNames": [
"AND",
"OR"
]
},
"conditions": {
"description": "{\"markdownDescription\":\"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"Condition to check against the **headerName**.\",\"defaultSnippets\":[{\"label\":\"Examples: Check if header contains \\\"text/html\\\"\",\"markdownDescription\":\"Condition to check if **headerName** contains \\\"text/html\\\"\",\"body\":{\"headerName\":\"accept\",\"operator\":\"CONTAINS\",\"value\":\"text/html\",\"caseSensitive\":true}}]}",
"type": "object",
"properties": {
"headerName": {
"description": "{\"markdownDescription\":\"**Name** of the HTTP header to check. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"operator": {
"description": "{\"errorMessage\":\"Invalid operator. Please select a valid operator.\",\"markdownDescription\":\"Operator to use for comparing the `headerName` with `value`.\",\"markdownEnumDescriptions\":[\"Performs an exact, comparison between the header value and specified string. `string === value`\",\"Ensures the header value does not exactly match the specified string. `string !== value`\",\"Checks if the header value contains the specified string as a substring. `string.includes()`\",\"Verifies the header value does not contain the specified string as a substring. `!string.includes()`\",\"Validates that the header value begins with the specified string. `string.startsWith()`\",\"Validates that the header value does not begin with the specified string. `!string.startsWith()`\",\"Confirms the header value ends with the specified string. `string.endsWith()`\",\"Confirms the header value does not end with the specified string. `!string.endsWith()`\",\"Evaluates if the header value matches the specified regular expression pattern. `regex.test()`\",\"Evaluates if the header value does not match the specified regular expression pattern. `!regex.test()`\"]}",
"type": "string",
"enum": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
],
"x-enumNames": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
]
},
"value": {
"description": "{\"markdownDescription\":\"**Value** to check against the **headerName**.\"}",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"caseSensitive": {
"description": "{\"markdownDescription\":\"Whether the value is **case sensitive**. \\n\\n - `true`: the value will be compared as is. \\n\\n - `false`: the value will be lowercased **before** comparison.\"}",
"type": "boolean"
}
},
"required": [
"headerName",
"operator",
"value",
"caseSensitive"
]
}
},
"responseType": {
"description": "{\"errorMessage\":\"Invalid response type. Please select a valid response type.\",\"markdownDescription\":\"Type of the response. Determines the type of **response** to be returned when the rule is matched.\",\"markdownEnumDescriptions\":[\"Return **subscription** in XRAY-JSON format. (Using `Xray Json` template)\",\"Return **subscription** in BASE64 encoded string. Compatible with most client application with Xray core.\",\"Return **subscription** in Mihomo format. (Using `Mihomo` template)\",\"Return **subscription** in Stash format. (Using `Stash` template)\",\"Return **subscription** in Clash format. (Using `Clash` template) Useful for client application that use Legacy Clash core.\",\"Return **subscription** in Singbox format. (Using `Singbox` template) Format which is used by Singbox client application.\",\"Return **subscription** as browser format. The same as on `/info` route.\",\"**Drop** request and return `403` status code.\",\"**Drop** request and return `404` status code.\",\"**Drop** request and return `451` status code.\",\"**Drop** the socket connection.\"]}",
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"responseModifications": {
"description": "{\"examples\":[{\"headers\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Response modifications to be applied when the rule is matched. Optional.\"}",
"type": "object",
"properties": {
"headers": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Add custom header\",\"markdownDescription\":\"Add a custom header to the response\",\"body\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Array of headers to be added when the rule is matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"**Key** and **value** of the response header will be added to the response.\"}",
"type": "object",
"properties": {
"key": {
"description": "{\"markdownDescription\":\"Key of the response header. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"value": {
"description": "{\"markdownDescription\":\"Value of the response header. \"}",
"type": "string",
"minLength": 1
}
},
"required": [
"key",
"value"
]
}
},
"applyHeadersToEnd": {
"description": "{\"markdownDescription\":\"By default, headers are added when forming the response. In some cases, headers set in SRR may be overridden by headers from other parts of the system. If you set this flag to **true**, headers from SRR will be added at the very end, just before the response is sent. In this case, SRR headers may override headers from other sections.\"}",
"type": "boolean"
},
"subscriptionTemplate": {
"description": "{\"markdownDescription\":\"Override the subscription template with the given name. If not provided, the default subscription template will be used. If the template name is not found, the default subscription template for this type will be used. **This modification have higher priority than settings from External Squads.**\"}",
"type": "string",
"minLength": 1
},
"ignoreHostXrayJsonTemplate": {
"description": "{\"markdownDescription\":\"Each Host may have its own Xray Json Template. If you set this flag to **true**, the Xray Json Template defined by the SRR will be used. **The Host's Xray Json Template will be ignored.**\"}",
"type": "boolean"
},
"ignoreServeJsonAtBaseSubscription": {
"description": "{\"markdownDescription\":\"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**).\"}",
"type": "boolean"
},
"additionalExtendedClientsRegex": {
"description": "{\"markdownDescription\":\"Additional regex patterns to match extended clients. Matched clients will receive `serverDescription` in the subscription response.\\n\\n**Default Mihomo extended clients:**\\n- `^FlClash ?X/`\\n- `^Flowvy/`\\n- `^prizrak-box/`\\n- `^koala-clash/`\\n\\n**Default Xray extended clients:**\\n- `^Happ/`\\n- `^INCY/`\\n\\n**Example:** `[\\\"^MyClient/\\\", \\\"^CustomApp\\\\\\\\/v2\\\"]`\"}",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"required": [
"name",
"enabled",
"operator",
"conditions",
"responseType"
]
}
}
},
"required": [
"version",
"rules"
],
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"profileTitle",
"supportLink",
"profileUpdateInterval",
"isProfileWebpageUrlEnabled",
"serveJsonAtBaseSubscription",
"isShowCustomRemarks",
"customRemarks",
"happAnnounce",
"happRouting",
"customResponseHeaders",
"randomizeHosts",
"responseRules",
"hwidSettings",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"UpdateSubscriptionSettingsRequestDto": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer"
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"happAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"isShowCustomRemarks": {
"type": "boolean"
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
]
},
"customResponseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"randomizeHosts": {
"type": "boolean"
},
"responseRules": {
"type": "object",
"properties": {
"version": {
"description": "{\"title\":\"Response Rules Config Version\",\"markdownDescription\":\"Version of the **response rules** config. Currently supported version is **1**.\"}",
"type": "string",
"enum": [
"1"
],
"x-enumNames": [
"1"
]
},
"settings": {
"description": "{\"markdownDescription\":\"Settings for the **response rules** config. Optional.\"}",
"type": "object",
"properties": {
"disableSubscriptionAccessByPath": {
"description": "{\"markdownDescription\":\"Usually, a user's subscription may also be available via additional paths such as **/json**, **/stash**, or **/mihomo**. If this flag is set to **true**, access via these additional paths will be disabled.\"}",
"type": "boolean"
}
}
},
"rules": {
"description": "{\"title\":\"Response Rules\",\"markdownDescription\":\"Array of **response rules**. Rules are evaluated in order and the first rule that matches is applied. If no rule matches, request will be blocked by default.\\n\\n**Example:**\\n```json\\n[\\n {\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n }\\n]\\n```\",\"defaultSnippets\":[]}",
"type": "array",
"items": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Blank rule\",\"markdownDescription\":\"Simple blank rule with no conditions or modifications.\\n```json\\n{\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n}\\n```\",\"body\":{\"name\":\"Blank rule\",\"description\":\"Blank rule\",\"operator\":\"AND\",\"enabled\":true,\"conditions\":[],\"responseType\":\"BLOCK\",\"responseModifications\":{\"headers\":[]}}},{\"label\":\"Examples: Block Legacy Clients\",\"markdownDescription\":\"Block requests from legacy clients\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\",\"body\":{\"name\":\"Block Legacy Clients\",\"description\":\"Block requests from legacy clients\",\"enabled\":true,\"operator\":\"OR\",\"conditions\":[{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"Hiddify\",\"caseSensitive\":true},{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"FoxRay\",\"caseSensitive\":true}],\"responseType\":\"BLOCK\"}}],\"title\":\"Response Rule\",\"markdownDescription\":\"Response rule configuration.\\n\\n**Fields:**\\n- **name**: Name of the response rule.\\n- **description**: Description of the response rule. Optional.\\n- **enabled**: Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\\n- **operator**: Operator to use for combining conditions in the rule.\\n- **conditions**: Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\\n- **responseType**: Type of the response. Determines the type of **response** to be returned when the rule is matched.\\n- **responseModifications**: Response modifications to be applied when the rule is matched. Optional.\\n\\n**Example:**\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\"}",
"type": "object",
"properties": {
"name": {
"description": "{\"markdownDescription\":\"Name of the response rule.\"}",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"description": "{\"markdownDescription\":\"Description of the response rule. Optional.\"}",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"enabled": {
"description": "{\"markdownDescription\":\"Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\"}",
"type": "boolean"
},
"operator": {
"description": "{\"markdownDescription\":\"Operator to use for combining conditions in the rule.\"}",
"type": "string",
"enum": [
"AND",
"OR"
],
"x-enumNames": [
"AND",
"OR"
]
},
"conditions": {
"description": "{\"markdownDescription\":\"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"Condition to check against the **headerName**.\",\"defaultSnippets\":[{\"label\":\"Examples: Check if header contains \\\"text/html\\\"\",\"markdownDescription\":\"Condition to check if **headerName** contains \\\"text/html\\\"\",\"body\":{\"headerName\":\"accept\",\"operator\":\"CONTAINS\",\"value\":\"text/html\",\"caseSensitive\":true}}]}",
"type": "object",
"properties": {
"headerName": {
"description": "{\"markdownDescription\":\"**Name** of the HTTP header to check. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"operator": {
"description": "{\"errorMessage\":\"Invalid operator. Please select a valid operator.\",\"markdownDescription\":\"Operator to use for comparing the `headerName` with `value`.\",\"markdownEnumDescriptions\":[\"Performs an exact, comparison between the header value and specified string. `string === value`\",\"Ensures the header value does not exactly match the specified string. `string !== value`\",\"Checks if the header value contains the specified string as a substring. `string.includes()`\",\"Verifies the header value does not contain the specified string as a substring. `!string.includes()`\",\"Validates that the header value begins with the specified string. `string.startsWith()`\",\"Validates that the header value does not begin with the specified string. `!string.startsWith()`\",\"Confirms the header value ends with the specified string. `string.endsWith()`\",\"Confirms the header value does not end with the specified string. `!string.endsWith()`\",\"Evaluates if the header value matches the specified regular expression pattern. `regex.test()`\",\"Evaluates if the header value does not match the specified regular expression pattern. `!regex.test()`\"]}",
"type": "string",
"enum": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
],
"x-enumNames": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
]
},
"value": {
"description": "{\"markdownDescription\":\"**Value** to check against the **headerName**.\"}",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"caseSensitive": {
"description": "{\"markdownDescription\":\"Whether the value is **case sensitive**. \\n\\n - `true`: the value will be compared as is. \\n\\n - `false`: the value will be lowercased **before** comparison.\"}",
"type": "boolean"
}
},
"required": [
"headerName",
"operator",
"value",
"caseSensitive"
]
}
},
"responseType": {
"description": "{\"errorMessage\":\"Invalid response type. Please select a valid response type.\",\"markdownDescription\":\"Type of the response. Determines the type of **response** to be returned when the rule is matched.\",\"markdownEnumDescriptions\":[\"Return **subscription** in XRAY-JSON format. (Using `Xray Json` template)\",\"Return **subscription** in BASE64 encoded string. Compatible with most client application with Xray core.\",\"Return **subscription** in Mihomo format. (Using `Mihomo` template)\",\"Return **subscription** in Stash format. (Using `Stash` template)\",\"Return **subscription** in Clash format. (Using `Clash` template) Useful for client application that use Legacy Clash core.\",\"Return **subscription** in Singbox format. (Using `Singbox` template) Format which is used by Singbox client application.\",\"Return **subscription** as browser format. The same as on `/info` route.\",\"**Drop** request and return `403` status code.\",\"**Drop** request and return `404` status code.\",\"**Drop** request and return `451` status code.\",\"**Drop** the socket connection.\"]}",
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"responseModifications": {
"description": "{\"examples\":[{\"headers\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Response modifications to be applied when the rule is matched. Optional.\"}",
"type": "object",
"properties": {
"headers": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Add custom header\",\"markdownDescription\":\"Add a custom header to the response\",\"body\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Array of headers to be added when the rule is matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"**Key** and **value** of the response header will be added to the response.\"}",
"type": "object",
"properties": {
"key": {
"description": "{\"markdownDescription\":\"Key of the response header. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"value": {
"description": "{\"markdownDescription\":\"Value of the response header. \"}",
"type": "string",
"minLength": 1
}
},
"required": [
"key",
"value"
]
}
},
"applyHeadersToEnd": {
"description": "{\"markdownDescription\":\"By default, headers are added when forming the response. In some cases, headers set in SRR may be overridden by headers from other parts of the system. If you set this flag to **true**, headers from SRR will be added at the very end, just before the response is sent. In this case, SRR headers may override headers from other sections.\"}",
"type": "boolean"
},
"subscriptionTemplate": {
"description": "{\"markdownDescription\":\"Override the subscription template with the given name. If not provided, the default subscription template will be used. If the template name is not found, the default subscription template for this type will be used. **This modification have higher priority than settings from External Squads.**\"}",
"type": "string",
"minLength": 1
},
"ignoreHostXrayJsonTemplate": {
"description": "{\"markdownDescription\":\"Each Host may have its own Xray Json Template. If you set this flag to **true**, the Xray Json Template defined by the SRR will be used. **The Host's Xray Json Template will be ignored.**\"}",
"type": "boolean"
},
"ignoreServeJsonAtBaseSubscription": {
"description": "{\"markdownDescription\":\"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**).\"}",
"type": "boolean"
},
"additionalExtendedClientsRegex": {
"description": "{\"markdownDescription\":\"Additional regex patterns to match extended clients. Matched clients will receive `serverDescription` in the subscription response.\\n\\n**Default Mihomo extended clients:**\\n- `^FlClash ?X/`\\n- `^Flowvy/`\\n- `^prizrak-box/`\\n- `^koala-clash/`\\n\\n**Default Xray extended clients:**\\n- `^Happ/`\\n- `^INCY/`\\n\\n**Example:** `[\\\"^MyClient/\\\", \\\"^CustomApp\\\\\\\\/v2\\\"]`\"}",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"required": [
"name",
"enabled",
"operator",
"conditions",
"responseType"
]
}
}
},
"required": [
"version",
"rules"
]
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
]
}
},
"required": [
"uuid"
]
},
"UpdateSubscriptionSettingsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileTitle": {
"type": "string"
},
"supportLink": {
"type": "string"
},
"profileUpdateInterval": {
"type": "integer",
"minimum": 1,
"exclusiveMinimum": false
},
"isProfileWebpageUrlEnabled": {
"type": "boolean"
},
"serveJsonAtBaseSubscription": {
"type": "boolean"
},
"isShowCustomRemarks": {
"type": "boolean"
},
"customRemarks": {
"type": "object",
"properties": {
"expiredUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"limitedUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"disabledUsers": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"emptyHosts": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDMaxDevicesExceeded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"HWIDNotSupported": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"expiredUsers",
"limitedUsers",
"disabledUsers",
"emptyHosts",
"HWIDMaxDevicesExceeded",
"HWIDNotSupported"
]
},
"happAnnounce": {
"type": "string",
"nullable": true
},
"happRouting": {
"type": "string",
"nullable": true
},
"customResponseHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"randomizeHosts": {
"type": "boolean"
},
"responseRules": {
"type": "object",
"properties": {
"version": {
"description": "{\"title\":\"Response Rules Config Version\",\"markdownDescription\":\"Version of the **response rules** config. Currently supported version is **1**.\"}",
"type": "string",
"enum": [
"1"
],
"x-enumNames": [
"1"
]
},
"settings": {
"description": "{\"markdownDescription\":\"Settings for the **response rules** config. Optional.\"}",
"type": "object",
"properties": {
"disableSubscriptionAccessByPath": {
"description": "{\"markdownDescription\":\"Usually, a user's subscription may also be available via additional paths such as **/json**, **/stash**, or **/mihomo**. If this flag is set to **true**, access via these additional paths will be disabled.\"}",
"type": "boolean"
}
}
},
"rules": {
"description": "{\"title\":\"Response Rules\",\"markdownDescription\":\"Array of **response rules**. Rules are evaluated in order and the first rule that matches is applied. If no rule matches, request will be blocked by default.\\n\\n**Example:**\\n```json\\n[\\n {\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n }\\n]\\n```\",\"defaultSnippets\":[]}",
"type": "array",
"items": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Blank rule\",\"markdownDescription\":\"Simple blank rule with no conditions or modifications.\\n```json\\n{\\n \\\"name\\\": \\\"Blank rule\\\",\\n \\\"description\\\": \\\"Blank rule\\\",\\n \\\"operator\\\": \\\"AND\\\",\\n \\\"enabled\\\": true,\\n \\\"conditions\\\": [],\\n \\\"responseType\\\": \\\"BLOCK\\\",\\n \\\"responseModifications\\\": {\\n \\\"headers\\\": []\\n }\\n}\\n```\",\"body\":{\"name\":\"Blank rule\",\"description\":\"Blank rule\",\"operator\":\"AND\",\"enabled\":true,\"conditions\":[],\"responseType\":\"BLOCK\",\"responseModifications\":{\"headers\":[]}}},{\"label\":\"Examples: Block Legacy Clients\",\"markdownDescription\":\"Block requests from legacy clients\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\",\"body\":{\"name\":\"Block Legacy Clients\",\"description\":\"Block requests from legacy clients\",\"enabled\":true,\"operator\":\"OR\",\"conditions\":[{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"Hiddify\",\"caseSensitive\":true},{\"headerName\":\"user-agent\",\"operator\":\"CONTAINS\",\"value\":\"FoxRay\",\"caseSensitive\":true}],\"responseType\":\"BLOCK\"}}],\"title\":\"Response Rule\",\"markdownDescription\":\"Response rule configuration.\\n\\n**Fields:**\\n- **name**: Name of the response rule.\\n- **description**: Description of the response rule. Optional.\\n- **enabled**: Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\\n- **operator**: Operator to use for combining conditions in the rule.\\n- **conditions**: Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\\n- **responseType**: Type of the response. Determines the type of **response** to be returned when the rule is matched.\\n- **responseModifications**: Response modifications to be applied when the rule is matched. Optional.\\n\\n**Example:**\\n```json\\n{\\n \\\"name\\\": \\\"Block Legacy Clients\\\",\\n \\\"description\\\": \\\"Block requests from legacy clients\\\",\\n \\\"enabled\\\": true,\\n \\\"operator\\\": \\\"OR\\\",\\n \\\"conditions\\\": [\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"Hiddify\\\",\\n \\\"caseSensitive\\\": true\\n },\\n {\\n \\\"headerName\\\": \\\"user-agent\\\",\\n \\\"operator\\\": \\\"CONTAINS\\\",\\n \\\"value\\\": \\\"FoxRay\\\",\\n \\\"caseSensitive\\\": true\\n }\\n ],\\n \\\"responseType\\\": \\\"BLOCK\\\"\\n}\\n```\"}",
"type": "object",
"properties": {
"name": {
"description": "{\"markdownDescription\":\"Name of the response rule.\"}",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"description": "{\"markdownDescription\":\"Description of the response rule. Optional.\"}",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"enabled": {
"description": "{\"markdownDescription\":\"Control whether the response rule is enabled or disabled. \\n\\n - `true` the rule will be applied. \\n\\n - `false` the rule will be always ignored.\"}",
"type": "boolean"
},
"operator": {
"description": "{\"markdownDescription\":\"Operator to use for combining conditions in the rule.\"}",
"type": "string",
"enum": [
"AND",
"OR"
],
"x-enumNames": [
"AND",
"OR"
]
},
"conditions": {
"description": "{\"markdownDescription\":\"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"Condition to check against the **headerName**.\",\"defaultSnippets\":[{\"label\":\"Examples: Check if header contains \\\"text/html\\\"\",\"markdownDescription\":\"Condition to check if **headerName** contains \\\"text/html\\\"\",\"body\":{\"headerName\":\"accept\",\"operator\":\"CONTAINS\",\"value\":\"text/html\",\"caseSensitive\":true}}]}",
"type": "object",
"properties": {
"headerName": {
"description": "{\"markdownDescription\":\"**Name** of the HTTP header to check. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"operator": {
"description": "{\"errorMessage\":\"Invalid operator. Please select a valid operator.\",\"markdownDescription\":\"Operator to use for comparing the `headerName` with `value`.\",\"markdownEnumDescriptions\":[\"Performs an exact, comparison between the header value and specified string. `string === value`\",\"Ensures the header value does not exactly match the specified string. `string !== value`\",\"Checks if the header value contains the specified string as a substring. `string.includes()`\",\"Verifies the header value does not contain the specified string as a substring. `!string.includes()`\",\"Validates that the header value begins with the specified string. `string.startsWith()`\",\"Validates that the header value does not begin with the specified string. `!string.startsWith()`\",\"Confirms the header value ends with the specified string. `string.endsWith()`\",\"Confirms the header value does not end with the specified string. `!string.endsWith()`\",\"Evaluates if the header value matches the specified regular expression pattern. `regex.test()`\",\"Evaluates if the header value does not match the specified regular expression pattern. `!regex.test()`\"]}",
"type": "string",
"enum": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
],
"x-enumNames": [
"EQUALS",
"NOT_EQUALS",
"CONTAINS",
"NOT_CONTAINS",
"STARTS_WITH",
"NOT_STARTS_WITH",
"ENDS_WITH",
"NOT_ENDS_WITH",
"REGEX",
"NOT_REGEX"
]
},
"value": {
"description": "{\"markdownDescription\":\"**Value** to check against the **headerName**.\"}",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"caseSensitive": {
"description": "{\"markdownDescription\":\"Whether the value is **case sensitive**. \\n\\n - `true`: the value will be compared as is. \\n\\n - `false`: the value will be lowercased **before** comparison.\"}",
"type": "boolean"
}
},
"required": [
"headerName",
"operator",
"value",
"caseSensitive"
]
}
},
"responseType": {
"description": "{\"errorMessage\":\"Invalid response type. Please select a valid response type.\",\"markdownDescription\":\"Type of the response. Determines the type of **response** to be returned when the rule is matched.\",\"markdownEnumDescriptions\":[\"Return **subscription** in XRAY-JSON format. (Using `Xray Json` template)\",\"Return **subscription** in BASE64 encoded string. Compatible with most client application with Xray core.\",\"Return **subscription** in Mihomo format. (Using `Mihomo` template)\",\"Return **subscription** in Stash format. (Using `Stash` template)\",\"Return **subscription** in Clash format. (Using `Clash` template) Useful for client application that use Legacy Clash core.\",\"Return **subscription** in Singbox format. (Using `Singbox` template) Format which is used by Singbox client application.\",\"Return **subscription** as browser format. The same as on `/info` route.\",\"**Drop** request and return `403` status code.\",\"**Drop** request and return `404` status code.\",\"**Drop** request and return `451` status code.\",\"**Drop** the socket connection.\"]}",
"type": "string",
"enum": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
],
"x-enumNames": [
"XRAY_JSON",
"XRAY_BASE64",
"MIHOMO",
"STASH",
"CLASH",
"SINGBOX",
"BROWSER",
"BLOCK",
"STATUS_CODE_404",
"STATUS_CODE_451",
"SOCKET_DROP"
]
},
"responseModifications": {
"description": "{\"examples\":[{\"headers\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Response modifications to be applied when the rule is matched. Optional.\"}",
"type": "object",
"properties": {
"headers": {
"description": "{\"defaultSnippets\":[{\"label\":\"Examples: Add custom header\",\"markdownDescription\":\"Add a custom header to the response\",\"body\":[{\"key\":\"X-Custom-Header\",\"value\":\"CustomValue\"}]}],\"markdownDescription\":\"Array of headers to be added when the rule is matched.\"}",
"type": "array",
"items": {
"description": "{\"markdownDescription\":\"**Key** and **value** of the response header will be added to the response.\"}",
"type": "object",
"properties": {
"key": {
"description": "{\"markdownDescription\":\"Key of the response header. Must comply with RFC 7230.\"}",
"type": "string",
"pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$"
},
"value": {
"description": "{\"markdownDescription\":\"Value of the response header. \"}",
"type": "string",
"minLength": 1
}
},
"required": [
"key",
"value"
]
}
},
"applyHeadersToEnd": {
"description": "{\"markdownDescription\":\"By default, headers are added when forming the response. In some cases, headers set in SRR may be overridden by headers from other parts of the system. If you set this flag to **true**, headers from SRR will be added at the very end, just before the response is sent. In this case, SRR headers may override headers from other sections.\"}",
"type": "boolean"
},
"subscriptionTemplate": {
"description": "{\"markdownDescription\":\"Override the subscription template with the given name. If not provided, the default subscription template will be used. If the template name is not found, the default subscription template for this type will be used. **This modification have higher priority than settings from External Squads.**\"}",
"type": "string",
"minLength": 1
},
"ignoreHostXrayJsonTemplate": {
"description": "{\"markdownDescription\":\"Each Host may have its own Xray Json Template. If you set this flag to **true**, the Xray Json Template defined by the SRR will be used. **The Host's Xray Json Template will be ignored.**\"}",
"type": "boolean"
},
"ignoreServeJsonAtBaseSubscription": {
"description": "{\"markdownDescription\":\"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**).\"}",
"type": "boolean"
},
"additionalExtendedClientsRegex": {
"description": "{\"markdownDescription\":\"Additional regex patterns to match extended clients. Matched clients will receive `serverDescription` in the subscription response.\\n\\n**Default Mihomo extended clients:**\\n- `^FlClash ?X/`\\n- `^Flowvy/`\\n- `^prizrak-box/`\\n- `^koala-clash/`\\n\\n**Default Xray extended clients:**\\n- `^Happ/`\\n- `^INCY/`\\n\\n**Example:** `[\\\"^MyClient/\\\", \\\"^CustomApp\\\\\\\\/v2\\\"]`\"}",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"required": [
"name",
"enabled",
"operator",
"conditions",
"responseType"
]
}
}
},
"required": [
"version",
"rules"
],
"nullable": true
},
"hwidSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"fallbackDeviceLimit": {
"type": "number"
},
"maxDevicesAnnounce": {
"type": "string",
"maxLength": 200,
"nullable": true
}
},
"required": [
"enabled",
"fallbackDeviceLimit",
"maxDevicesAnnounce"
],
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"profileTitle",
"supportLink",
"profileUpdateInterval",
"isProfileWebpageUrlEnabled",
"serveJsonAtBaseSubscription",
"isShowCustomRemarks",
"customRemarks",
"happAnnounce",
"happRouting",
"customResponseHeaders",
"randomizeHosts",
"responseRules",
"hwidSettings",
"createdAt",
"updatedAt"
]
}
},
"required": [
"response"
]
},
"FetchIpsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"jobId": {
"type": "string"
}
},
"required": [
"jobId"
]
}
},
"required": [
"response"
]
},
"FetchIpsResultResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isCompleted": {
"type": "boolean"
},
"isFailed": {
"type": "boolean"
},
"progress": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"completed": {
"type": "number"
},
"percent": {
"type": "number"
}
},
"required": [
"total",
"completed",
"percent"
]
},
"result": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"userId": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"nodeName": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"ips": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string"
},
"lastSeen": {
"type": "string",
"format": "date-time"
}
},
"required": [
"ip",
"lastSeen"
]
}
}
},
"required": [
"nodeUuid",
"nodeName",
"countryCode",
"ips"
]
}
}
},
"required": [
"success",
"userUuid",
"userId",
"nodes"
],
"nullable": true
}
},
"required": [
"isCompleted",
"isFailed",
"progress",
"result"
]
}
},
"required": [
"response"
]
},
"DropConnectionsRequestDto": {
"type": "object",
"properties": {
"dropBy": {
"oneOf": [
{
"description": "Drop by user UUIDs",
"type": "object",
"properties": {
"by": {
"type": "string",
"enum": [
"userUuids"
]
},
"userUuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"by",
"userUuids"
]
},
{
"description": "Drop by IP addresses",
"type": "object",
"properties": {
"by": {
"type": "string",
"enum": [
"ipAddresses"
]
},
"ipAddresses": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"by",
"ipAddresses"
]
}
]
},
"targetNodes": {
"oneOf": [
{
"description": "Target all connected nodes",
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"allNodes"
]
}
},
"required": [
"target"
]
},
{
"description": "Target specific nodes",
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"specificNodes"
]
},
"nodeUuids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"target",
"nodeUuids"
]
}
]
}
},
"required": [
"dropBy",
"targetNodes"
]
},
"DropConnectionsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"eventSent": {
"type": "boolean"
}
},
"required": [
"eventSent"
]
}
},
"required": [
"response"
]
},
"FetchUsersIpsResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"jobId": {
"type": "string"
}
},
"required": [
"jobId"
]
}
},
"required": [
"response"
]
},
"FetchUsersIpsResultResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"isCompleted": {
"type": "boolean"
},
"isFailed": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"nodeUuid": {
"type": "string",
"format": "uuid"
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"ips": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string"
},
"lastSeen": {
"type": "string",
"format": "date-time"
}
},
"required": [
"ip",
"lastSeen"
]
}
}
},
"required": [
"userId",
"ips"
]
}
}
},
"required": [
"success",
"nodeUuid",
"users"
],
"nullable": true
}
},
"required": [
"isCompleted",
"isFailed",
"result"
]
}
},
"required": [
"response"
]
},
"GetUserMetadataResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
}
},
"required": [
"response"
]
},
"UpsertUserMetadataRequestBodyDto": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
},
"UpsertUserMetadataResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
}
},
"required": [
"response"
]
},
"GetNodeMetadataResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
}
},
"required": [
"response"
]
},
"UpsertNodeMetadataRequestBodyDto": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
},
"UpsertNodeMetadataResponseDto": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {}
}
},
"required": [
"metadata"
]
}
},
"required": [
"response"
]
},
"RemnawaveWebhookUserEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"user"
]
},
"event": {
"type": "string",
"enum": [
"user.created",
"user.modified",
"user.deleted",
"user.revoked",
"user.disabled",
"user.enabled",
"user.limited",
"user.expired",
"user.traffic_reset",
"user.expires_in_72_hours",
"user.expires_in_48_hours",
"user.expires_in_24_hours",
"user.expired_24_hours_ago",
"user.first_connected",
"user.bandwidth_usage_threshold_reached",
"user.not_connected"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
},
"meta": {
"type": "object",
"properties": {
"notConnectedAfterHours": {
"type": "integer",
"nullable": true
}
},
"nullable": true
}
},
"required": [
"scope",
"event",
"timestamp",
"data",
"meta"
]
},
"RemnawaveWebhookUserHwidDevicesEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"user_hwid_devices"
]
},
"event": {
"type": "string",
"enum": [
"user_hwid_devices.added",
"user_hwid_devices.deleted"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
},
"hwidUserDevice": {
"type": "object",
"properties": {
"hwid": {
"type": "string"
},
"userUuid": {
"type": "string",
"format": "uuid"
},
"platform": {
"type": "string",
"nullable": true
},
"osVersion": {
"type": "string",
"nullable": true
},
"deviceModel": {
"type": "string",
"nullable": true
},
"userAgent": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"hwid",
"userUuid",
"platform",
"osVersion",
"deviceModel",
"userAgent",
"createdAt",
"updatedAt"
]
}
},
"required": [
"user",
"hwidUserDevice"
]
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
},
"RemnawaveWebhookNodeEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"node"
]
},
"event": {
"type": "string",
"enum": [
"node.created",
"node.modified",
"node.disabled",
"node.enabled",
"node.deleted",
"node.connection_lost",
"node.connection_restored",
"node.traffic_notify"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
},
"RemnawaveWebhookServiceEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"service"
]
},
"event": {
"type": "string",
"enum": [
"service.panel_started",
"service.login_attempt_failed",
"service.login_attempt_success",
"service.subpage_config_changed"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"loginAttempt": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"ip": {
"type": "string"
},
"userAgent": {
"type": "string"
},
"description": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"username",
"ip",
"userAgent"
]
},
"panelVersion": {
"type": "string"
},
"subpageConfig": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"CREATED",
"UPDATED",
"DELETED"
]
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"action",
"uuid"
]
}
}
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
},
"RemnawaveWebhookErrorsEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"errors"
]
},
"event": {
"type": "string",
"enum": [
"errors.bandwidth_usage_threshold_reached_max_notifications"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"description": {
"type": "string"
}
},
"required": [
"description"
]
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
},
"RemnawaveWebhookCrmEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"crm"
]
},
"event": {
"type": "string",
"enum": [
"crm.infra_billing_node_payment_in_7_days",
"crm.infra_billing_node_payment_in_48hrs",
"crm.infra_billing_node_payment_in_24hrs",
"crm.infra_billing_node_payment_due_today",
"crm.infra_billing_node_payment_overdue_24hrs",
"crm.infra_billing_node_payment_overdue_48hrs",
"crm.infra_billing_node_payment_overdue_7_days"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"providerName": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"nextBillingAt": {
"type": "string",
"format": "date-time"
},
"loginUrl": {
"type": "string"
}
},
"required": [
"providerName",
"nodeName",
"nextBillingAt",
"loginUrl"
]
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
},
"RemnawaveWebhookTorrentBlockerEventsDto": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"torrent_blocker"
]
},
"event": {
"type": "string",
"enum": [
"torrent_blocker.report"
]
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"properties": {
"node": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"port": {
"type": "integer",
"nullable": true
},
"isConnected": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isConnecting": {
"type": "boolean"
},
"lastStatusChange": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastStatusMessage": {
"type": "string",
"nullable": true
},
"isTrafficTrackingActive": {
"type": "boolean"
},
"trafficResetDay": {
"type": "integer",
"nullable": true
},
"trafficLimitBytes": {
"type": "number",
"nullable": true
},
"trafficUsedBytes": {
"type": "number",
"nullable": true
},
"notifyPercent": {
"type": "integer",
"nullable": true
},
"viewPosition": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"consumptionMultiplier": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"configProfile": {
"type": "object",
"properties": {
"activeConfigProfileUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"activeInbounds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"profileUuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
},
"network": {
"type": "string",
"nullable": true
},
"security": {
"type": "string",
"nullable": true
},
"port": {
"type": "number",
"nullable": true
},
"rawInbound": {
"nullable": true
}
},
"required": [
"uuid",
"profileUuid",
"tag",
"type",
"network",
"security",
"port",
"rawInbound"
]
}
}
},
"required": [
"activeConfigProfileUuid",
"activeInbounds"
]
},
"providerUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"provider": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"faviconLink": {
"type": "string",
"nullable": true
},
"loginUrl": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"uuid",
"name",
"faviconLink",
"loginUrl",
"createdAt",
"updatedAt"
],
"nullable": true
},
"activePluginUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"system": {
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"arch": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"cpuModel": {
"type": "string"
},
"memoryTotal": {
"type": "number"
},
"hostname": {
"type": "string"
},
"platform": {
"type": "string"
},
"release": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
},
"networkInterfaces": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"arch",
"cpus",
"cpuModel",
"memoryTotal",
"hostname",
"platform",
"release",
"type",
"version",
"networkInterfaces"
]
},
"stats": {
"type": "object",
"properties": {
"memoryFree": {
"type": "number"
},
"memoryUsed": {
"type": "number"
},
"uptime": {
"type": "number"
},
"loadAvg": {
"type": "array",
"items": {
"type": "number"
}
},
"interface": {
"type": "object",
"properties": {
"interface": {
"type": "string"
},
"rxBytesPerSec": {
"type": "number"
},
"txBytesPerSec": {
"type": "number"
},
"rxTotal": {
"type": "number"
},
"txTotal": {
"type": "number"
}
},
"required": [
"interface",
"rxBytesPerSec",
"txBytesPerSec",
"rxTotal",
"txTotal"
],
"nullable": true
}
},
"required": [
"memoryFree",
"memoryUsed",
"uptime",
"loadAvg",
"interface"
]
}
},
"required": [
"info",
"stats"
],
"nullable": true
},
"versions": {
"type": "object",
"properties": {
"xray": {
"type": "string"
},
"node": {
"type": "string"
}
},
"required": [
"xray",
"node"
],
"nullable": true
},
"xrayUptime": {
"type": "number"
},
"usersOnline": {
"type": "number"
}
},
"required": [
"uuid",
"name",
"address",
"port",
"isConnected",
"isDisabled",
"isConnecting",
"lastStatusChange",
"lastStatusMessage",
"isTrafficTrackingActive",
"trafficResetDay",
"trafficLimitBytes",
"trafficUsedBytes",
"notifyPercent",
"viewPosition",
"countryCode",
"consumptionMultiplier",
"tags",
"createdAt",
"updatedAt",
"configProfile",
"providerUuid",
"provider",
"activePluginUuid",
"system",
"versions",
"xrayUptime",
"usersOnline"
]
},
"user": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "number"
},
"shortUuid": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"x-enumNames": [
"ACTIVE",
"DISABLED",
"LIMITED",
"EXPIRED"
],
"default": "ACTIVE"
},
"trafficLimitBytes": {
"type": "integer",
"default": 0
},
"trafficLimitStrategy": {
"description": "Available reset periods",
"type": "string",
"enum": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"x-enumNames": [
"NO_RESET",
"DAY",
"WEEK",
"MONTH",
"MONTH_ROLLING"
],
"default": "NO_RESET"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"telegramId": {
"type": "integer",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"hwidDeviceLimit": {
"type": "integer",
"nullable": true
},
"externalSquadUuid": {
"type": "string",
"format": "uuid",
"nullable": true
},
"trojanPassword": {
"type": "string"
},
"vlessUuid": {
"type": "string",
"format": "uuid"
},
"ssPassword": {
"type": "string"
},
"lastTriggeredThreshold": {
"type": "integer",
"default": 0
},
"subRevokedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastTrafficResetAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"subscriptionUrl": {
"type": "string"
},
"activeInternalSquads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
},
"required": [
"uuid",
"name"
]
}
},
"userTraffic": {
"type": "object",
"properties": {
"usedTrafficBytes": {
"type": "number"
},
"lifetimeUsedTrafficBytes": {
"type": "number"
},
"onlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstConnectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"lastConnectedNodeUuid": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"usedTrafficBytes",
"lifetimeUsedTrafficBytes",
"onlineAt",
"firstConnectedAt",
"lastConnectedNodeUuid"
]
}
},
"required": [
"uuid",
"id",
"shortUuid",
"username",
"expireAt",
"telegramId",
"email",
"description",
"tag",
"hwidDeviceLimit",
"externalSquadUuid",
"trojanPassword",
"vlessUuid",
"ssPassword",
"subRevokedAt",
"lastTrafficResetAt",
"createdAt",
"updatedAt",
"subscriptionUrl",
"activeInternalSquads",
"userTraffic"
]
},
"report": {
"type": "object",
"properties": {
"actionReport": {
"type": "object",
"properties": {
"blocked": {
"type": "boolean"
},
"ip": {
"type": "string"
},
"blockDuration": {
"type": "number"
},
"willUnblockAt": {
"type": "string",
"format": "date-time"
},
"userId": {
"type": "string"
},
"processedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"blocked",
"ip",
"blockDuration",
"willUnblockAt",
"userId",
"processedAt"
]
},
"xrayReport": {
"type": "object",
"properties": {
"email": {
"type": "string",
"nullable": true
},
"level": {
"type": "number",
"nullable": true
},
"protocol": {
"type": "string",
"nullable": true
},
"network": {
"type": "string"
},
"source": {
"type": "string",
"nullable": true
},
"destination": {
"type": "string"
},
"routeTarget": {
"type": "string",
"nullable": true
},
"originalTarget": {
"type": "string",
"nullable": true
},
"inboundTag": {
"type": "string",
"nullable": true
},
"inboundName": {
"type": "string",
"nullable": true
},
"inboundLocal": {
"type": "string",
"nullable": true
},
"outboundTag": {
"type": "string",
"nullable": true
},
"ts": {
"type": "number"
}
},
"required": [
"email",
"level",
"protocol",
"network",
"source",
"destination",
"routeTarget",
"originalTarget",
"inboundTag",
"inboundName",
"inboundLocal",
"outboundTag",
"ts"
]
}
},
"required": [
"actionReport",
"xrayReport"
]
}
},
"required": [
"node",
"user",
"report"
]
}
},
"required": [
"scope",
"event",
"timestamp",
"data"
]
}
}
}
}