docs(api): align OpenAPI with runtime contracts (#6409)

Document the cookie-authenticated WebSocket upgrade and its emitted envelopes without exporting pseudo-paths. Align REST response schemas, paged-client filters, and subscription HEAD operations with their runtime implementations, then regenerate frontend and docs artifacts.
This commit is contained in:
Gleb Gudkov
2026-09-04 16:23:41 +03:00
committed by GitHub
parent 3b5273b1d6
commit ed6bc1d898
20 changed files with 4609 additions and 535 deletions
+8 -12
View File
@@ -92,13 +92,11 @@ _openapi:
title: Generate a new X25519 keypair for Reality.
url: '#generate-a-new-x25519-keypair-for-reality'
- depth: 2
title: Generate a new ML-DSA-65 keypair (post-quantum signature). Returns
{privateKey, publicKey, seed}.
url: '#generate-a-new-ml-dsa-65-keypair-post-quantum-signature-returns-privatekey-publickey-seed'
title: Generate a new ML-DSA-65 keypair. Returns {seed, verify}.
url: '#generate-a-new-ml-dsa-65-keypair-returns-seed-verify'
- depth: 2
title: Generate a new ML-KEM-768 keypair (post-quantum KEM). Returns {clientKey,
serverKey}.
url: '#generate-a-new-ml-kem-768-keypair-post-quantum-kem-returns-clientkey-serverkey'
title: Generate a new ML-KEM-768 keypair. Returns {seed, client}.
url: '#generate-a-new-ml-kem-768-keypair-returns-seed-client'
- depth: 2
title: Generate VLESS encryption auth options. Returns an auths array each with
id, label, encryption, and decryption fields.
@@ -248,12 +246,10 @@ _openapi:
id: read-only-summaries-guid-parentguid-name-address-status-versions-of-the-nodes-this-panel-manages-a-parent-panel-calls-it-on-a-node-via-the-node-api-token-to-surface-transitive-sub-nodes-in-a-chained-topology-counts-are-computed-by-the-parent-not-returned-here
- content: Generate a new X25519 keypair for Reality.
id: generate-a-new-x25519-keypair-for-reality
- content: Generate a new ML-DSA-65 keypair (post-quantum signature). Returns
{privateKey, publicKey, seed}.
id: generate-a-new-ml-dsa-65-keypair-post-quantum-signature-returns-privatekey-publickey-seed
- content: Generate a new ML-KEM-768 keypair (post-quantum KEM). Returns
{clientKey, serverKey}.
id: generate-a-new-ml-kem-768-keypair-post-quantum-kem-returns-clientkey-serverkey
- content: Generate a new ML-DSA-65 keypair. Returns {seed, verify}.
id: generate-a-new-ml-dsa-65-keypair-returns-seed-verify
- content: Generate a new ML-KEM-768 keypair. Returns {seed, client}.
id: generate-a-new-ml-kem-768-keypair-returns-seed-client
- content: Generate VLESS encryption auth options. Returns an auths array each
with id, label, encryption, and decryption fields.
id: generate-vless-encryption-auth-options-returns-an-auths-array-each-with-id-label-encryption-and-decryption-fields
@@ -19,16 +19,28 @@ _openapi:
online status; no links) for live polling. The path prefix is configured
by subPath.'
url: '#return-base64-encoded-subscription-links-for-all-enabled-clients-matching-the-subscription-id-when-the-request-has-an-accept-texthtml-header-or-html1-renders-a-styled-info-page-instead-with-formatinfo-returns-the-page-view-model-as-json-traffic-expiry-online-status-no-links-for-live-polling-the-path-prefix-is-configured-by-subpath'
- depth: 2
title: Return the same status and subscription metadata headers as GET without a
response body.
url: '#return-the-same-status-and-subscription-metadata-headers-as-get-without-a-response-body'
- depth: 2
title: Return subscription as a JSON array of proxy configs (one per enabled
client). Only when JSON subscription is enabled in settings. The path
prefix is configured by subJsonPath.
url: '#return-subscription-as-a-json-array-of-proxy-configs-one-per-enabled-client-only-when-json-subscription-is-enabled-in-settings-the-path-prefix-is-configured-by-subjsonpath'
- depth: 2
title: Return the JSON subscription status and metadata headers without a body.
Registered only when JSON subscriptions are enabled.
url: '#return-the-json-subscription-status-and-metadata-headers-without-a-body-registered-only-when-json-subscriptions-are-enabled'
- depth: 2
title: Return subscription as a Clash/Mihomo-compatible YAML config, including
configured global Clash routing rules. Only when Clash subscription is
enabled in settings. The path prefix is configured by subClashPath.
url: '#return-subscription-as-a-clashmihomo-compatible-yaml-config-including-configured-global-clash-routing-rules-only-when-clash-subscription-is-enabled-in-settings-the-path-prefix-is-configured-by-subclashpath'
- depth: 2
title: Return the Clash subscription status and metadata headers without a body.
Registered only when Clash subscriptions are enabled.
url: '#return-the-clash-subscription-status-and-metadata-headers-without-a-body-registered-only-when-clash-subscriptions-are-enabled'
structuredData:
headings:
- content: 'Return base64-encoded subscription links for all enabled clients
@@ -38,14 +50,23 @@ _openapi:
online status; no links) for live polling. The path prefix is
configured by subPath.'
id: return-base64-encoded-subscription-links-for-all-enabled-clients-matching-the-subscription-id-when-the-request-has-an-accept-texthtml-header-or-html1-renders-a-styled-info-page-instead-with-formatinfo-returns-the-page-view-model-as-json-traffic-expiry-online-status-no-links-for-live-polling-the-path-prefix-is-configured-by-subpath
- content: Return the same status and subscription metadata headers as GET without
a response body.
id: return-the-same-status-and-subscription-metadata-headers-as-get-without-a-response-body
- content: Return subscription as a JSON array of proxy configs (one per enabled
client). Only when JSON subscription is enabled in settings. The path
prefix is configured by subJsonPath.
id: return-subscription-as-a-json-array-of-proxy-configs-one-per-enabled-client-only-when-json-subscription-is-enabled-in-settings-the-path-prefix-is-configured-by-subjsonpath
- content: Return the JSON subscription status and metadata headers without a
body. Registered only when JSON subscriptions are enabled.
id: return-the-json-subscription-status-and-metadata-headers-without-a-body-registered-only-when-json-subscriptions-are-enabled
- content: Return subscription as a Clash/Mihomo-compatible YAML config, including
configured global Clash routing rules. Only when Clash subscription is
enabled in settings. The path prefix is configured by subClashPath.
id: return-subscription-as-a-clashmihomo-compatible-yaml-config-including-configured-global-clash-routing-rules-only-when-clash-subscription-is-enabled-in-settings-the-path-prefix-is-configured-by-subclashpath
- content: Return the Clash subscription status and metadata headers without a
body. Registered only when Clash subscriptions are enabled.
id: return-the-clash-subscription-status-and-metadata-headers-without-a-body-registered-only-when-clash-subscriptions-are-enabled
contents: []
---
@@ -58,7 +79,7 @@ export default function Layout(props) {
return (
<>
{props.children}
<Comp document="./public/openapi.json" webhooks={[]} operations={[{"path":"/{subPath}{subid}","method":"get"},{"path":"/{jsonPath}{subid}","method":"get"},{"path":"/{clashPath}{subid}","method":"get"}]} showTitle />
<Comp document="./public/openapi.json" webhooks={[]} operations={[{"path":"/{subPath}{subid}","method":"get"},{"path":"/{subPath}{subid}","method":"head"},{"path":"/{jsonPath}{subid}","method":"get"},{"path":"/{jsonPath}{subid}","method":"head"},{"path":"/{clashPath}{subid}","method":"get"},{"path":"/{clashPath}{subid}","method":"head"}]} showTitle />
</>
);
}