The Nantian Gateway control plane exposes an HTTP REST Admin API for runtime diagnostics, configuration inspection, and operational queries. All endpoints live under the control plane’s HTTP listener (default port 18081).
Auth Level Behavior noneNo authentication required. Used by health probes and Kubernetes liveness/readiness checks. bearer-when-configuredIf an admin API token is set in the control plane configuration, the request must include an Authorization: Bearer <token> header. If no token is configured, the endpoint is open.
Method Path Auth Description GET/liveznoneLiveness check. Returns 200 OK if the process is alive. GET/readyznoneReadiness check. Returns 200 OK when the control plane has finished initial resource sync; 503 otherwise.
Method Path Auth Description GET/v1/summarybearer-when-configuredCluster configuration overview: listener, route, backend, and node counts GET/v1/dashboard/capabilitiesbearer-when-configuredFeature flags exposed to the dashboard UI GET/v1/snapshot-syncbearer-when-configuredSnapshot synchronization status across all data plane nodes GET/v1/snapshotbearer-when-configuredFull IR snapshot content currently pushed to data planes GET/v1/listenersbearer-when-configuredList all listeners GET/v1/listeners/{name}bearer-when-configuredDetail for a specific listener GET/v1/routesbearer-when-configuredList all routes (HTTP, gRPC, TCP, UDP, TLS) GET/v1/routes/{kind}/{namespace}/{name}bearer-when-configuredDetail for a specific route GET/v1/backendsbearer-when-configuredList all backend clusters GET/v1/backends/{namespace}/{name}bearer-when-configuredDetail for a specific backend cluster GET/v1/nodesbearer-when-configuredList all connected data plane nodes GET/v1/nodes/{nodeId}bearer-when-configuredDetail for a specific data plane node GET/v1/infrastructurebearer-when-configuredInfrastructure status (deployment, service, pod info) GET/v1/service-catalogbearer-when-configuredService catalog listing GET/v1/namespacesbearer-when-configuredList known namespaces GET/v1/resource-kindsbearer-when-configuredList available resource types GET/v1/topologybearer-when-configuredTopology view of gateways, routes, and backends GET/v1/dataplanesbearer-when-configuredList data plane instances GET/v1/dataplanes/{nodeId}/summarybearer-when-configuredSummary for a specific data plane instance
Method Path Auth Description GET/v1/resourcesbearer-when-configuredList all managed resources POST/v1/resourcesbearer-when-configuredCreate or update a managed resource GET/v1/resources/{kind}/{namespace}/{name}bearer-when-configuredGet a specific resource by kind, namespace, and name PUT/v1/resources/{kind}/{namespace}/{name}bearer-when-configuredUpdate a specific resource DELETE/v1/resources/{kind}/{namespace}/{name}bearer-when-configuredDelete a specific resource
Method Path Auth Description GET/v1/chatbot/configbearer-when-configuredGet chatbot configuration PUT/v1/chatbot/configbearer-when-configuredUpdate chatbot configuration POST/v1/chatbot/chatbearer-when-configuredSend a chat message. Response is text/event-stream (SSE).
Method Path Auth Description GET/v1/metrics/configbearer-when-configuredGet metrics backend configuration PUT/v1/metrics/configbearer-when-configuredUpdate metrics backend configuration POST/v1/metrics/querybearer-when-configuredExecute an instant PromQL query POST/v1/metrics/query_rangebearer-when-configuredExecute a range PromQL query
Method Path Auth Description GET/v1/ai/overviewbearer-when-configuredAI Gateway overview (models, providers, request volume) GET/v1/ai/servicesbearer-when-configuredList configured AI backend services GET/v1/ai/token-usagebearer-when-configuredToken usage statistics GET/v1/ai/tracesbearer-when-configuredAI request traces GET/v1/ai/costbearer-when-configuredCost analysis across AI providers
curl -s -o /dev/null -w " %{http_code} " http://controlplane:18081/livez
# Readiness (may return 503 before initial sync completes)
curl -s http://controlplane:18081/readyz
# → 200 OK (or 503 if not yet ready)
curl http://controlplane:18081/v1/summary
# All routes across all gateways
curl http://controlplane:18081/v1/routes
# Specific HTTPRoute detail
curl http://controlplane:18081/v1/routes/httproute/default/my-app-route
curl http://controlplane:18081/v1/backends/default/backend-svc
curl http://controlplane:18081/v1/nodes
# See which nodes are current vs. drifted
curl http://controlplane:18081/v1/snapshot-sync
# List all managed resources
curl http://controlplane:18081/v1/resources
# Get a specific resource
curl http://controlplane:18081/v1/resources/httproute/default/my-app-route
# Create or update a resource
curl -X POST http://controlplane:18081/v1/resources \
-H " Content-Type: application/json " \
-d ' {"apiVersion":"gateway.networking.k8s.io/v1","kind":"HTTPRoute",...} '
curl -X DELETE http://controlplane:18081/v1/resources/httproute/default/my-app-route
curl -X POST http://controlplane:18081/v1/metrics/query \
-H " Content-Type: application/json " \
# Range query over last hour
curl -X POST http://controlplane:18081/v1/metrics/query_range \
-H " Content-Type: application/json " \
-d ' {"query":"rate(http_requests_total[5m])","start":"2025-01-01T00:00:00Z","end":"2025-01-01T01:00:00Z","step":"30s"} '
curl http://controlplane:18081/v1/ai/overview
curl http://controlplane:18081/v1/ai/token-usage
When the admin token is configured, include it in the Authorization header:
curl -H " Authorization: Bearer ${ ADMIN_TOKEN } " http://controlplane:18081/v1/summary