diff --git a/src/pages/ipa/resources/events.mdx b/src/pages/ipa/resources/events.mdx
index 83e9bf58..0d7fa755 100644
--- a/src/pages/ipa/resources/events.mdx
+++ b/src/pages/ipa/resources/events.mdx
@@ -805,7 +805,9 @@ echo $response;
"user_id": "user-123",
"auth_method_used": "oidc",
"country_code": "US",
- "city_name": "San Francisco"
+ "city_name": "San Francisco",
+ "bytes_upload": 1024,
+ "bytes_download": 8192
}
],
"page": 1,
@@ -831,7 +833,9 @@ echo $response;
"user_id": "string",
"auth_method_used": "string",
"country_code": "string",
- "city_name": "string"
+ "city_name": "string",
+ "bytes_upload": "integer",
+ "bytes_download": "integer"
}
],
"page": "integer",
diff --git a/src/pages/ipa/resources/services.mdx b/src/pages/ipa/resources/services.mdx
index 2e3ef988..87cdee67 100644
--- a/src/pages/ipa/resources/services.mdx
+++ b/src/pages/ipa/resources/services.mdx
@@ -212,6 +212,35 @@ echo $response;
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -289,7 +318,18 @@ echo $response;
"protocol": "string",
"host": "string",
"port": "integer",
- "enabled": "boolean"
+ "enabled": "boolean",
+ "options": {
+ "skip_tls_verify": "boolean",
+ "request_timeout": "string",
+ "path_rewrite": "string",
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": "string",
+ "additionalProperties": "string"
+ }
+ }
}
],
"enabled": "boolean",
@@ -389,6 +429,38 @@ echo $response;
Whether this target is enabled
+
+
+
+
+ More Information
+
+
+
+
+ Skip TLS certificate verification for this backend
+
+
+
+
+ Per-target response timeout as a Go duration string (e.g. "30s", "2m")
+
+
+
+
+ Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. "preserve" keeps the full original request path.
+
+
+
+
+ Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.
+
+
+
+
+
+
+
@@ -564,6 +636,35 @@ curl -X POST https://api.netbird.io/api/reverse-proxies/services \
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -670,6 +771,35 @@ let data = JSON.stringify({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -798,6 +928,35 @@ payload = json.dumps({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -926,6 +1085,35 @@ func main() {
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -1072,6 +1260,35 @@ request.body = JSON.dump({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -1182,6 +1399,35 @@ RequestBody body = RequestBody.create(mediaType, '{
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -1308,6 +1554,35 @@ curl_setopt_array($curl, array(
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -1433,6 +1708,35 @@ echo $response;
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -1508,7 +1812,18 @@ echo $response;
"protocol": "string",
"host": "string",
"port": "integer",
- "enabled": "boolean"
+ "enabled": "boolean",
+ "options": {
+ "skip_tls_verify": "boolean",
+ "request_timeout": "string",
+ "path_rewrite": "string",
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": "string",
+ "additionalProperties": "string"
+ }
+ }
}
],
"enabled": "boolean",
@@ -1948,6 +2263,35 @@ echo $response;
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2023,7 +2367,18 @@ echo $response;
"protocol": "string",
"host": "string",
"port": "integer",
- "enabled": "boolean"
+ "enabled": "boolean",
+ "options": {
+ "skip_tls_verify": "boolean",
+ "request_timeout": "string",
+ "path_rewrite": "string",
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": "string",
+ "additionalProperties": "string"
+ }
+ }
}
],
"enabled": "boolean",
@@ -2130,6 +2485,38 @@ echo $response;
Whether this target is enabled
+
+
+
+
+ More Information
+
+
+
+
+ Skip TLS certificate verification for this backend
+
+
+
+
+ Per-target response timeout as a Go duration string (e.g. "30s", "2m")
+
+
+
+
+ Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. "preserve" keeps the full original request path.
+
+
+
+
+ Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.
+
+
+
+
+
+
+
@@ -2305,6 +2692,35 @@ curl -X PUT https://api.netbird.io/api/reverse-proxies/services/{serviceId} \
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2411,6 +2827,35 @@ let data = JSON.stringify({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2539,6 +2984,35 @@ payload = json.dumps({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2667,6 +3141,35 @@ func main() {
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2813,6 +3316,35 @@ request.body = JSON.dump({
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -2923,6 +3455,35 @@ RequestBody body = RequestBody.create(mediaType, '{
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -3049,6 +3610,35 @@ curl_setopt_array($curl, array(
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -3174,6 +3764,35 @@ echo $response;
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -3249,7 +3868,18 @@ echo $response;
"protocol": "string",
"host": "string",
"port": "integer",
- "enabled": "boolean"
+ "enabled": "boolean",
+ "options": {
+ "skip_tls_verify": "boolean",
+ "request_timeout": "string",
+ "path_rewrite": "string",
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": "string",
+ "additionalProperties": "string"
+ }
+ }
}
],
"enabled": "boolean",
@@ -3955,6 +4585,35 @@ echo $response;
"enabled": {
"type": "boolean",
"description": "Whether this target is enabled"
+ },
+ "options": {
+ "skip_tls_verify": {
+ "type": "boolean",
+ "description": "Skip TLS certificate verification for this backend"
+ },
+ "request_timeout": {
+ "type": "string",
+ "description": "Per-target response timeout as a Go duration string (e.g. \"30s\", \"2m\")"
+ },
+ "path_rewrite": {
+ "type": "string",
+ "description": "Controls how the request path is rewritten before forwarding to the backend. Default strips the matched prefix. \"preserve\" keeps the full original request path.",
+ "enum": [
+ "preserve"
+ ]
+ },
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": {
+ "type": "string",
+ "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[^\\r\\n]*$"
+ }
+ }
}
}
],
@@ -4030,7 +4689,18 @@ echo $response;
"protocol": "string",
"host": "string",
"port": "integer",
- "enabled": "boolean"
+ "enabled": "boolean",
+ "options": {
+ "skip_tls_verify": "boolean",
+ "request_timeout": "string",
+ "path_rewrite": "string",
+ "custom_headers": {
+ "type": "object",
+ "description": "Extra headers sent to the backend. Hop-by-hop and proxy-managed headers (Host, Connection, Transfer-Encoding, etc.) are rejected.",
+ "propertyNames": "string",
+ "additionalProperties": "string"
+ }
+ }
}
],
"enabled": "boolean",