opamp-core

OpAMP Provider Endpoints

This document lists the HTTP and WebSocket endpoints exposed by the provider.

Bearer-Token Protection Scope

Bearer protection is controlled by provider config plus environment-backed secrets/JWT settings:

UI Endpoints

Method Path Purpose
GET / Redirect to the web UI (/ui).
GET /ui Main web UI page.
GET /help Help page.
GET /doc-set Redirect to the latest docs URL configured in provider.latest_docs_url. The provider, config-service, and catalog-service UI Latest docs links use this route.
GET /create.ico UI favicon.

Tool Endpoints

Method Path Purpose
GET /tool OpenAPI specification for /tool endpoints.
GET /tool/otelAgents List agents that are not disconnected.
GET /tool/commands List all commands (OpAMP-standard and custom).

When provider.ui-use-authorization is set to config-token or idp, /tool endpoints require an Authorization: Bearer <token> header.

GET /tool/otelAgents supports additional query filters (documented in /tool OpenAPI), including service_instance_id, client_version, host_name, host_ip, and invertFilter=true to invert active filter matches.

API Endpoints

Method Path Purpose
GET /api/clients List tracked clients (pending_approval_total included).
GET /api/clients/<client_id> Get one client record.
DELETE /api/clients/<client_id> Remove a client record.
GET /api/approvals/pending List pending-approval agents.
POST /api/approvals/pending Apply approve/block decisions for pending agents.
POST /api/clients/<client_id>/commands Queue command/custom command.
POST /api/clients/<client_id>/actions Set next actions for a client.
PUT /api/clients/<client_id>/heartbeat-frequency Set heartbeat frequency for one client.
POST /api/clients/<client_id>/identify Queue new instance UID for client.
POST /api/clients/<client_id>/config Set requested config for a client.
GET /api/commands/custom List custom command metadata for the UI.
GET /api/settings/comms Get communication threshold settings.
PUT /api/settings/comms Update communication threshold settings.
GET /api/settings/diagnostic Get diagnostic and state-persistence status metadata for UI feature-gating/health display.
GET /api/metrics/graphs Get current gauge values and optional retained gauge-series history for internal dashboard views.
POST /api/settings/state/save Force an immediate provider state snapshot save (when persistence is enabled).
GET /api/settings/client Get global client settings.
PUT /api/settings/client Update global client settings.
GET /api/help/global-settings Get shared help text for Global Settings labels/tooltips.
POST /api/shutdown Shutdown server (requires {"confirm": true}).

GET /api/clients query parameters:

OpAMP Transport Endpoints

Method Path Purpose
POST /v1/opamp OpAMP HTTP transport endpoint (AgentToServer/ServerToAgent).
WEBSOCKET /v1/opamp OpAMP WebSocket transport endpoint.

Metrics Endpoint

Method Path Purpose
GET /metrics Expose provider metrics in Prometheus text format.

Metrics notes:

Human-in-loop behavior notes:

Bearer protection notes:

MCP Transport Endpoints

Method Path Purpose
GET /sse FastMCP SSE stream endpoint exposed through Quart (when mcptool + FastMCP are available).
POST /messages FastMCP SSE message endpoint paired with /sse.
POST/GET /mcp FastMCP Streamable HTTP endpoint (only when provider.allow-mcp=true).

When provider.ui-use-authorization is set to config-token or idp, MCP transport endpoints (/sse, /messages, /mcp) require Authorization: Bearer <token>.

When provider.allow-mcp=false, /mcp requests are rejected even if /sse and /messages remain available.