Proxy endpoints (Client API: game servers)
4 FeatherPanel Client API: game servers endpoints from user/server/proxy.php: methods, paths, auth, permissions, rate limits, parameters and responses.
Last synced from FeatherPanel 15b94e9 on .
On this page
Defined in backend/app/routes/user/server/proxy.php. Authentication used here: Server access. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.
Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.
Endpoints
GET/api/user/servers/{uuidShort}/proxy
List reverse proxies Get a list of all reverse proxy configurations for a server.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
uuidShort | path | string | yes | Server short UUID |
curl -X GET "$PANEL_URL/api/user/servers/$UUID_SHORT/proxy" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 List of proxy configurations · 401 Unauthorized · 403 Forbidden · 404 Server not found
POST/api/user/servers/{uuidShort}/proxy/create
Create reverse proxy Create a new reverse proxy configuration for a server.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
uuidShort | path | string | yes | Server short UUID |
Request body: ProxyCreateRequest (application/json)
| Body field | Type | Required | Description |
|---|---|---|---|
domain | string | yes | The domain name for the proxy |
ip | string | yes | The target IP address to proxy to |
port | string | yes | The target port to proxy to |
ssl | boolean | yes | Whether to enable SSL/TLS |
use_lets_encrypt | boolean | no | Whether to use Let's Encrypt for SSL |
client_email | string | no | Email for Let's Encrypt registration |
ssl_cert | string | no | SSL certificate content |
ssl_key | string | no | SSL private key content |
curl -X POST "$PANEL_URL/api/user/servers/$UUID_SHORT/proxy/create" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"domain":"","ip":"","port":"","ssl":false,"use_lets_encrypt":false,"client_email":"","ssl_cert":"","ssl_key":""}'Plugin events: featherpanel:server:proxy:create
Responses: 202 Proxy configuration created successfully · 400 Bad request · 401 Unauthorized · 403 Forbidden · 404 Server not found · 500 Internal server error · 503 Service unavailable
POST/api/user/servers/{uuidShort}/proxy/delete
Delete reverse proxy Delete an existing reverse proxy configuration for a server.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
uuidShort | path | string | yes | Server short UUID |
Request body: ProxyDeleteRequest (application/json)
| Body field | Type | Required | Description |
|---|---|---|---|
domain | string | yes | The domain name of the proxy to delete |
port | string | yes | The port associated with the proxy configuration |
curl -X POST "$PANEL_URL/api/user/servers/$UUID_SHORT/proxy/delete" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"domain":"","port":""}'Plugin events: featherpanel:server:proxy:delete
Responses: 202 Proxy configuration deleted successfully · 400 Bad request · 401 Unauthorized · 403 Forbidden · 404 Server not found · 500 Internal server error · 503 Service unavailable
POST/api/user/servers/{uuidShort}/proxy/verify-dns
Verify DNS records Verify that DNS A record exists and points to the correct IP address.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
uuidShort | path | string | yes | Server short UUID |
| Body field | Type | Required | Description |
|---|---|---|---|
domain | string | yes | Domain name to verify |
port | string | yes | Port number to determine target IP |
curl -X POST "$PANEL_URL/api/user/servers/$UUID_SHORT/proxy/verify-dns" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"domain":"","port":""}'Responses: 200 DNS verification result · 400 Bad request · 401 Unauthorized · 403 Forbidden · 404 Server not found