This commit is contained in:
Mateusz Gruszczyński committed 2026-11-07 13:13:25 +01:00
1 parent 3a384baa6b
commit 672c84bc13
21 files changed
+450 -70

No files matched your search

+60 -7
View File
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "RustProxy Administration API",
"version": "0.35.5",
"version": "0.36.0",
"description": "Administration API for the active panel origin. Sign in through the panel; the same-origin HttpOnly cookie authenticates all private operations. Mutations also require the exact Origin, X-RustProxy-Request: 1 and a session-bound X-CSRF-Token. Loopback HTTP is the default; Settings can enable HTTPS before using a non-loopback administration bind. This document contains no live configuration or credentials. Object schemas marked extensible are summaries: full configuration validation is authoritative in Rust. The API also permits explicitly scoped GeneralApiBearer tokens on a narrow route allowlist, with RO/RW and source CIDR checks; API-token management and Prometheus-token management are browser-session-only."
},
"servers": [
@@ -1618,6 +1618,11 @@
"Cache": {
"type": "object",
"properties": {
"revision": {
"type": "integer",
"format": "int64",
"description": "Configuration revision used for this snapshot."
},
"settings": {
"type": "object",
"properties": {},
@@ -4790,6 +4795,11 @@
"type": "object",
"additionalProperties": false,
"properties": {
"revision": {
"type": "integer",
"format": "int64",
"description": "Configuration revision used for this snapshot."
},
"settings": {
"$ref": "#/components/schemas/TransformSettings"
},
@@ -6194,6 +6204,11 @@
"type": "object",
"additionalProperties": false,
"properties": {
"revision": {
"type": "integer",
"format": "int64",
"description": "Configuration revision used for this snapshot."
},
"scope": {
"type": "string"
},
@@ -9872,14 +9887,14 @@
},
"/api/cache": {
"get": {
"summary": "Cache metrics, domains and paginated objects",
"summary": "Cache metrics, domains and paginated objects; optional lightweight live view",
"tags": [
"Cache"
],
"operationId": "get_api_cache",
"responses": {
"200": {
"description": "Successful response",
"description": "Full response by default. view=live omits static settings/vhost configuration while retaining revision, live metrics, dashboard objects/domains and BAN rules.",
"content": {
"application/json": {
"schema": {
@@ -9960,6 +9975,18 @@
"minimum": 1,
"default": 50
}
},
{
"name": "view",
"in": "query",
"required": false,
"description": "Set to live for polling. Omits static settings and vhost configuration; refetch the full view when revision changes.",
"schema": {
"type": "string",
"enum": [
"live"
]
}
}
],
"security": [
@@ -9974,14 +10001,14 @@
},
"/api/transform": {
"get": {
"summary": "Transformation runtime metrics and per-vhost effectiveness",
"summary": "Transformation runtime metrics and per-vhost effectiveness; optional lightweight live view",
"tags": [
"Transform"
],
"operationId": "get_api_transform",
"responses": {
"200": {
"description": "Successful response",
"description": "Full response by default. view=live omits static settings/vhost configuration while retaining revision, resources and live metrics.",
"content": {
"application/json": {
"schema": {
@@ -10031,6 +10058,20 @@
}
}
},
"parameters": [
{
"name": "view",
"in": "query",
"required": false,
"description": "Set to live for polling. Omits static settings and vhost configuration; refetch the full view when revision changes.",
"schema": {
"type": "string",
"enum": [
"live"
]
}
}
],
"security": [
{
"AdminSession": []
@@ -12884,7 +12925,7 @@
},
"/api/traffic": {
"get": {
"summary": "Bounded per-vhost traffic analytics",
"summary": "Bounded per-vhost traffic analytics; optional lightweight live view",
"tags": [
"Traffic"
],
@@ -12899,11 +12940,23 @@
"type": "string",
"default": "*"
}
},
{
"name": "view",
"in": "query",
"required": false,
"description": "Set to live for polling. Omits the static vhost list; refetch the full view when revision changes.",
"schema": {
"type": "string",
"enum": [
"live"
]
}
}
],
"responses": {
"200": {
"description": "Successful response",
"description": "Full response by default. view=live omits the static vhost list while retaining revision, current settings, GeoIP state and analytics.",
"content": {
"application/json": {
"schema": {