### GET /api/subscription-settings Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/subscription-settings ```markdown ### Responses #### 200 - Subscription settings retrieved successfully **GetSubscriptionSettingsResponseDto** - **response** (object) (required) - **uuid** (string (uuid)) (required) - **profileTitle** (string) (required) - **supportLink** (string) (required) - **profileUpdateInterval** (integer) (required) - **isProfileWebpageUrlEnabled** (boolean) (required) - **serveJsonAtBaseSubscription** (boolean) (required) - **isShowCustomRemarks** (boolean) (required) - **customRemarks** (object) (required) - **expiredUsers** (array (string)) (required) - **limitedUsers** (array (string)) (required) - **disabledUsers** (array (string)) (required) - **emptyHosts** (array (string)) (required) - **HWIDMaxDevicesExceeded** (array (string)) (required) - **HWIDNotSupported** (array (string)) (required) - **happAnnounce** (string) (required) - **happRouting** (string) (required) - **customResponseHeaders** (object) (required) - **randomizeHosts** (boolean) (required) - **responseRules** (object) (required) - **version** (string (1)) (required): {"title":"Response Rules Config Version","markdownDescription":"Version of the **response rules** config. Currently supported version is **1**."} ("1") - **settings** (object): {"markdownDescription":"Settings for the **response rules** config. Optional."} - **disableSubscriptionAccessByPath** (boolean): {"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."} - **rules** (array (object)) (required): {"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":[]} Array items: - **name** (string) (required): {"markdownDescription":"Name of the response rule."} - **description** (string): {"markdownDescription":"Description of the response rule. Optional."} - **enabled** (boolean) (required): {"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."} - **operator** (string (AND|OR)) (required): {"markdownDescription":"Operator to use for combining conditions in the rule."} ("AND"|"OR") - **conditions** (array (object)) (required): {"markdownDescription":"Array of conditions to check against the request headers. Conditions are applied with **operator**. If conditions are empty, the rule will be matched."} Array items: - **headerName** (string) (required): {"markdownDescription":"**Name** of the HTTP header to check. Must comply with RFC 7230."} - **operator** (string (EQUALS|NOT_EQUALS|CONTAINS|NOT_CONTAINS|STARTS_WITH|NOT_STARTS_WITH|ENDS_WITH|NOT_ENDS_WITH|REGEX|NOT_REGEX)) (required): {"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()`"]} ("EQUALS"|"NOT_EQUALS"|"CONTAINS"|"NOT_CONTAINS"|"STARTS_WITH"|"NOT_STARTS_WITH"|"ENDS_WITH"|"NOT_ENDS_WITH"|"REGEX"|"NOT_REGEX") - **value** (string) (required): {"markdownDescription":"**Value** to check against the **headerName**."} - **caseSensitive** (boolean) (required): {"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."} - **responseType** (string (XRAY_JSON|XRAY_BASE64|MIHOMO|STASH|CLASH|SINGBOX|BROWSER|BLOCK|STATUS_CODE_404|STATUS_CODE_451|SOCKET_DROP)) (required): {"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."]} ("XRAY_JSON"|"XRAY_BASE64"|"MIHOMO"|"STASH"|"CLASH"|"SINGBOX"|"BROWSER"|"BLOCK"|"STATUS_CODE_404"|"STATUS_CODE_451"|"SOCKET_DROP") - **responseModifications** (object): {"examples":[{"headers":[{"key":"X-Custom-Header","value":"CustomValue"}]}],"markdownDescription":"Response modifications to be applied when the rule is matched. Optional."} - **headers** (array (object)): {"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."} Array items: - **key** (string) (required): {"markdownDescription":"Key of the response header. Must comply with RFC 7230."} - **value** (string) (required): {"markdownDescription":"Value of the response header. "} - **applyHeadersToEnd** (boolean): {"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."} - **subscriptionTemplate** (string): {"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.**"} - **ignoreHostXrayJsonTemplate** (boolean): {"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.**"} - **ignoreServeJsonAtBaseSubscription** (boolean): {"markdownDescription":"If you set this flag to **true**, the **Serve JSON at Base Subscription** setting will be ignored (set to **false**)."} - **additionalExtendedClientsRegex** (array (string)): {"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\"]`"} - **hwidSettings** (object) (required) - **enabled** (boolean) (required) - **fallbackDeviceLimit** (number) (required) - **maxDevicesAnnounce** (string) (required) - **createdAt** (string (date-time)) (required) - **updatedAt** (string (date-time)) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/subscription-settings" ``` ``` -------------------------------- ### GET /api/system/metadata Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/metadata ```markdown ### Responses #### 200 - Returns system metadata **GetMetadataResponseDto** - **response** (object) (required) - **version** (string) (required) - **build** (object) (required) - **time** (string) (required) - **number** (string) (required) - **git** (object) (required) - **backend** (object) (required) - **commitSha** (string) (required) - **branch** (string) (required) - **commitUrl** (string) (required) - **frontend** (object) (required) - **commitSha** (string) (required) - **commitUrl** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/metadata" ``` ``` -------------------------------- ### GET /api/node-plugins Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/node-plugins ```markdown ### Responses #### 200 - Node plugins retrieved successfully **GetNodePluginsResponseDto** - **response** (object) (required) - **total** (number) (required) - **nodePlugins** (array (object)) (required) Array items: - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **name** (string) (required) - **pluginConfig** (unknown) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/node-plugins" ``` ``` -------------------------------- ### GET /api/subscription-templates Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/subscription-templates ```markdown ### Responses #### 200 - Templates retrieved successfully **GetTemplatesResponseDto** - **response** (object) (required) - **total** (number) (required) - **templates** (array (object)) (required) Array items: - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **name** (string) (required) - **templateType** (string (XRAY_JSON|XRAY_BASE64|MIHOMO|STASH|CLASH|SINGBOX)) (required) ("XRAY_JSON"|"XRAY_BASE64"|"MIHOMO"|"STASH"|"CLASH"|"SINGBOX") - **templateJson** (unknown) (required) - **encodedTemplateYaml** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/subscription-templates" ``` ``` -------------------------------- ### GET /api/auth/passkey/authentication/options Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/auth/passkey/authentication/options ```markdown ### Responses #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) #### default - Passkey authentication options **GetPasskeyAuthenticationOptionsResponseDto** - **response** (unknown) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/api/auth/passkey/authentication/options" ``` ``` -------------------------------- ### GET /api/hosts Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/hosts ```markdown ### Responses #### 200 - Hosts fetched successfully **GetAllHostsResponseDto** - **response** (array (object)) (required) Array items: - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **remark** (string) (required) - **address** (string) (required) - **port** (integer) (required) - **path** (string) (required) - **sni** (string) (required) - **host** (string) (required) - **alpn** (string) (required) - **fingerprint** (string) (required) - **isDisabled** (boolean) - **securityLayer** (string (DEFAULT|TLS|NONE)) ("DEFAULT"|"TLS"|"NONE") - **xHttpExtraParams** (unknown) (required) - **muxParams** (unknown) (required) - **sockoptParams** (unknown) (required) - **finalMask** (unknown) (required) - **inbound** (object) (required) - **configProfileUuid** (string (uuid)) (required) - **configProfileInboundUuid** (string (uuid)) (required) - **serverDescription** (string) (required) - **tag** (string) (required) - **isHidden** (boolean) - **overrideSniFromAddress** (boolean) - **keepSniBlank** (boolean) - **vlessRouteId** (integer) (required) - **allowInsecure** (boolean) - **shuffleHost** (boolean) (required) - **mihomoX25519** (boolean) (required) - **nodes** (array (string (uuid))) (required) - **xrayJsonTemplateUuid** (string (uuid)) (required) - **excludedInternalSquads** (array (string (uuid))) (required) - **excludeFromSubscriptionTypes** (array (string (XRAY_JSON|XRAY_BASE64|MIHOMO|STASH|CLASH|SINGBOX))) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/hosts" ``` ``` -------------------------------- ### POST /api/hosts/bulk/enable Source: https://cdn.docs.rw/docs/openapi.json API endpoint for POST /api/hosts/bulk/enable ```markdown ### Request Body **Content-Type:** application/json - **uuids** (array (string (uuid))) (required) ### Responses #### 200 - Hosts enabled successfully **BulkEnableHostsResponseDto** - **response** (array (object)) (required) Array items: - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **remark** (string) (required) - **address** (string) (required) - **port** (integer) (required) - **path** (string) (required) - **sni** (string) (required) - **host** (string) (required) - **alpn** (string) (required) - **fingerprint** (string) (required) - **isDisabled** (boolean) - **securityLayer** (string (DEFAULT|TLS|NONE)) ("DEFAULT"|"TLS"|"NONE") - **xHttpExtraParams** (unknown) (required) - **muxParams** (unknown) (required) - **sockoptParams** (unknown) (required) - **finalMask** (unknown) (required) - **inbound** (object) (required) - **configProfileUuid** (string (uuid)) (required) - **configProfileInboundUuid** (string (uuid)) (required) - **serverDescription** (string) (required) - **tag** (string) (required) - **isHidden** (boolean) - **overrideSniFromAddress** (boolean) - **keepSniBlank** (boolean) - **vlessRouteId** (integer) (required) - **allowInsecure** (boolean) - **shuffleHost** (boolean) (required) - **mihomoX25519** (boolean) (required) - **nodes** (array (string (uuid))) (required) - **xrayJsonTemplateUuid** (string (uuid)) (required) - **excludedInternalSquads** (array (string (uuid))) (required) - **excludeFromSubscriptionTypes** (array (string (XRAY_JSON|XRAY_BASE64|MIHOMO|STASH|CLASH|SINGBOX))) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X POST "https://api.example.com/api/hosts/bulk/enable" \ -H "Content-Type: application/json" \ -d '{ "uuids": [ "string" ] }' ``` ``` -------------------------------- ### GET /api/passkeys/registration/options Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/passkeys/registration/options ```markdown ### Responses #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) #### default - Get passkey registration options **GetPasskeyRegistrationOptionsResponseDto** - **response** (unknown) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/api/passkeys/registration/options" ``` ``` -------------------------------- ### GET /api/system/stats/recap Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/stats/recap ```markdown ### Responses #### 200 - Returns system recap **GetRecapResponseDto** - **response** (object) (required) - **thisMonth** (object) (required) - **users** (number) (required) - **traffic** (string) (required) - **total** (object) (required) - **users** (number) (required) - **nodes** (number) (required) - **traffic** (string) (required) - **nodesRam** (string) (required) - **nodesCpuCores** (number) (required) - **distinctCountries** (number) (required) - **version** (string) (required) - **initDate** (string (date-time)) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/stats/recap" ``` ``` -------------------------------- ### Schema: BulkEnableHostsResponseDto Source: https://cdn.docs.rw/docs/openapi.json Schema definition for BulkEnableHostsResponseDto ```markdown ## Schema: BulkEnableHostsResponseDto Schema definition for BulkEnableHostsResponseDto **Type:** object - **response** (array (object)) (required) Array items: - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **remark** (string) (required) - **address** (string) (required) - **port** (integer) (required) - **path** (string) (required) - **sni** (string) (required) - **host** (string) (required) - **alpn** (string) (required) - **fingerprint** (string) (required) - **isDisabled** (boolean) - **securityLayer** (string (DEFAULT|TLS|NONE)) ("DEFAULT"|"TLS"|"NONE") - **xHttpExtraParams** (unknown) (required) - **muxParams** (unknown) (required) - **sockoptParams** (unknown) (required) - **finalMask** (unknown) (required) - **inbound** (object) (required) - **configProfileUuid** (string (uuid)) (required) - **configProfileInboundUuid** (string (uuid)) (required) - **serverDescription** (string) (required) - **tag** (string) (required) - **isHidden** (boolean) - **overrideSniFromAddress** (boolean) - **keepSniBlank** (boolean) - **vlessRouteId** (integer) (required) - **allowInsecure** (boolean) - **shuffleHost** (boolean) (required) - **mihomoX25519** (boolean) (required) - **nodes** (array (string (uuid))) (required) - **xrayJsonTemplateUuid** (string (uuid)) (required) - **excludedInternalSquads** (array (string (uuid))) (required) - **excludeFromSubscriptionTypes** (array (string (XRAY_JSON|XRAY_BASE64|MIHOMO|STASH|CLASH|SINGBOX))) ``` -------------------------------- ### GET /api/system/tools/x25519/generate Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/tools/x25519/generate ```markdown ### Responses #### 200 - Returns x25519 keypairs **GenerateX25519ResponseDto** - **response** (object) (required) - **keypairs** (array (object)) (required) Array items: - **publicKey** (string) (required) - **privateKey** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/tools/x25519/generate" ``` ``` -------------------------------- ### Schema: CreateInfraProviderResponseDto Source: https://cdn.docs.rw/docs/openapi.json Schema definition for CreateInfraProviderResponseDto ```markdown ## Schema: CreateInfraProviderResponseDto Schema definition for CreateInfraProviderResponseDto **Type:** object - **response** (object) (required) - **uuid** (string (uuid)) (required) - **name** (string) (required) - **faviconLink** (string) (required) - **loginUrl** (string) (required) - **createdAt** (string (date-time)) (required) - **updatedAt** (string (date-time)) (required) - **billingHistory** (object) (required) - **totalAmount** (number) (required) - **totalBills** (number) (required) - **billingNodes** (array (object)) (required) Array items: - **nodeUuid** (string (uuid)) (required) - **name** (string) (required) - **countryCode** (string) (required) ``` -------------------------------- ### GET /api/system/nodes/metrics Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/nodes/metrics ```markdown ### Responses #### 200 - Returns nodes metrics from Prometheus metrics endpoint **GetNodesMetricsResponseDto** - **response** (object) (required) - **nodes** (array (object)) (required) Array items: - **nodeUuid** (string) (required) - **nodeName** (string) (required) - **countryEmoji** (string) (required) - **providerName** (string) (required) - **usersOnline** (number) (required) - **inboundsStats** (array (object)) (required) Array items: - **tag** (string) (required) - **upload** (string) (required) - **download** (string) (required) - **outboundsStats** (array (object)) (required) Array items: #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/nodes/metrics" ``` ``` -------------------------------- ### Schema: BulkEnableHostsRequestDto Source: https://cdn.docs.rw/docs/openapi.json Schema definition for BulkEnableHostsRequestDto ```markdown ## Schema: BulkEnableHostsRequestDto Schema definition for BulkEnableHostsRequestDto **Type:** object - **uuids** (array (string (uuid))) (required) ``` -------------------------------- ### GET /api/system/health Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/health ```markdown ### Responses #### 200 - Returns Remnawave health **GetRemnawaveHealthResponseDto** - **response** (object) (required) - **runtimeMetrics** (array (object)) (required) Array items: - **rss** (number) (required) - **heapUsed** (number) (required) - **heapTotal** (number) (required) - **external** (number) (required) - **arrayBuffers** (number) (required) - **eventLoopDelayMs** (number) (required) - **eventLoopP99Ms** (number) (required) - **activeHandles** (number) (required) - **uptime** (number) (required) - **pid** (number) (required) - **timestamp** (number) (required) - **instanceId** (string) (required) - **instanceType** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/health" ``` ``` -------------------------------- ### GET /api/system/stats/nodes Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/stats/nodes ```markdown ### Responses #### 200 - Returns nodes statistics **GetNodesStatisticsResponseDto** - **response** (object) (required) - **lastSevenDays** (array (object)) (required) Array items: - **nodeName** (string) (required) - **date** (string) (required) - **totalBytes** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/stats/nodes" ``` ``` -------------------------------- ### POST /api/nodes/actions/restart-all Source: https://cdn.docs.rw/docs/openapi.json API endpoint for POST /api/nodes/actions/restart-all ```markdown ### Request Body **Content-Type:** application/json - **forceRestart** (boolean) ### Responses #### 200 - All nodes restarted **RestartAllNodesResponseDto** - **response** (object) (required) - **eventSent** (boolean) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X POST "https://api.example.com/api/nodes/actions/restart-all" \ -H "Content-Type: application/json" \ -d '{ "forceRestart": "true" }' ``` ``` -------------------------------- ### GET /api/system/stats/bandwidth Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/stats/bandwidth ```markdown ### Responses #### 200 - Returns bandwidth statistics **GetBandwidthStatsResponseDto** - **response** (object) (required) - **bandwidthLastTwoDays** (object) (required) - **current** (string) (required) - **previous** (string) (required) - **difference** (string) (required) - **bandwidthLastSevenDays** (object) (required) - **bandwidthLast30Days** (object) (required) - **bandwidthCalendarMonth** (object) (required) - **bandwidthCurrentYear** (object) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/stats/bandwidth" ``` ``` -------------------------------- ### GET /api/system/stats Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/system/stats ```markdown ### Responses #### 200 - Returns system statistics **GetStatsResponseDto** - **response** (object) (required) - **cpu** (object) (required) - **cores** (number) (required) - **memory** (object) (required) - **total** (number) (required) - **free** (number) (required) - **used** (number) (required) - **uptime** (number) (required) - **timestamp** (number) (required) - **users** (object) (required) - **statusCounts** (object) (required) - **totalUsers** (number) (required) - **onlineStats** (object) (required) - **lastDay** (number) (required) - **lastWeek** (number) (required) - **neverOnline** (number) (required) - **onlineNow** (number) (required) - **nodes** (object) (required) - **totalOnline** (number) (required) - **totalBytesLifetime** (string) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/system/stats" ``` ``` -------------------------------- ### POST /api/node-plugins/actions/clone Source: https://cdn.docs.rw/docs/openapi.json API endpoint for POST /api/node-plugins/actions/clone ```markdown ### Request Body **Content-Type:** application/json - **cloneFromUuid** (string (uuid)) (required) ### Responses #### 200 - Node plugin cloned successfully **CloneNodePluginResponseDto** - **response** (object) (required) - **uuid** (string (uuid)) (required) - **viewPosition** (integer) (required) - **name** (string) (required) - **pluginConfig** (unknown) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X POST "https://api.example.com/api/node-plugins/actions/clone" \ -H "Content-Type: application/json" \ -d '{ "cloneFromUuid": "string" }' ``` ``` -------------------------------- ### GET /api/subscription-request-history/stats Source: https://cdn.docs.rw/docs/openapi.json API endpoint for GET /api/subscription-request-history/stats ```markdown ### Responses #### 200 - User subscription request history stats fetched successfully **GetSubscriptionRequestHistoryStatsResponseDto** - **response** (object) (required) - **byParsedApp** (array (object)) (required) Array items: - **app** (string) (required) - **count** (number) (required) - **hourlyRequestStats** (array (object)) (required) Array items: - **dateTime** (string (date-time)) (required) - **requestCount** (number) (required) #### 400 - Validation error - **message** (string) - **statusCode** (number) (example: 400) - **errors** (array (object)) (example: [{"validation":"uuid","code":"invalid_string","message":"Invalid uuid","path":["uuid"]}]) Array items: - **validation** (string) (required) (example: "uuid") - **code** (string) (required) (example: "invalid_string") - **message** (string) (required) (example: "Invalid uuid") - **path** (array (string)) (required) (example: ["uuid"]) #### 500 - Server error - **timestamp** (string) - **path** (string) - **message** (string) - **errorCode** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/api/subscription-request-history/stats" ``` ```