Skip to content

HTTP routes

Every route below is served on FANOUT_HTTP_ADDR (:7520 by default). Telemetry does not arrive here — OTLP has its own two listeners, described in send your first telemetry.

The Requires column is not a description of the rule. It is the answer the authorization middleware gives for that exact method and path, so a route cannot be documented as public while the server treats it otherwise. Capabilities map to roles in roles.

MethodPathRequires
GET/.well-known/oauth-authorization-serverprotocol handshake
GET/.well-known/oauth-protected-resourceprotocol handshake
GET/.well-known/oauth-protected-resource/mcpprotocol handshake
GET/api/alertstelemetry:read
GET/api/alerts/summarytelemetry:read
POST/api/auth/login-linknone
POST/api/auth/logoutany signed-in user
GET/api/auth/meany signed-in user
GET/api/auth/oauth/authorizeany signed-in user
POST/api/auth/oauth/authorizeany signed-in user
GET/api/auth/oidc/callbacknone
GET/api/auth/oidc/startnone
POST/api/auth/setupnone
POST/api/auth/startnone
GET/api/auth/statusnone
POST/api/auth/verifynone
GET/api/dashboarddashboards:manage-own
PUT/api/dashboarddashboards:manage-own
GET/api/dashboardsdashboards:manage-own
POST/api/dashboardsdashboards:manage-own
DELETE/api/dashboards/:iddashboards:manage-own
GET/api/dashboards/:iddashboards:manage-own
PUT/api/dashboards/:iddashboards:manage-own
GET/api/healthnone
GET/api/observability/logstelemetry:read
GET/api/observability/overviewtelemetry:read
GET/api/observability/performancetelemetry:read
GET/api/observability/topologytelemetry:read
GET/api/observability/tracetelemetry:read
GET/api/rulestelemetry:read
POST/api/rulesalerts:manage
DELETE/api/rules/:idalerts:manage
PUT/api/rules/:idalerts:manage
POST/api/rules/:id/testalerts:manage
GET/api/settings/ingestingest:read-metadata
POST/api/settings/ingest/rotate-tokeningest:manage
GET/api/usersusers:manage
POST/api/usersusers:manage
DELETE/api/users/:idusers:manage
PUT/api/users/:idusers:manage
POST/api/users/:id/logout-allusers:manage
GET/healthznone
POST/oauth/registerprotocol handshake
POST/oauth/tokenprotocol handshake
GET/readyznone
  • none — reachable without a credential. The health endpoints are deliberately here: a probe that needs a credential fails for the wrong reason during an outage.
  • any signed-in user — a session, but no particular capability.
  • protocol handshake — the OAuth and MCP endpoints, which authenticate as part of their own protocol rather than through the middleware.
  • a named capability — the caller’s role must carry it.
  • or a service credential — additionally reachable without a browser session, which is how a scraper reaches the metrics endpoint.