REST API Overview
YedMQ exposes a management REST API for automation, diagnostics, and cluster operations.
Canonical reference
The generated Management API Reference is the canonical endpoint reference. This page summarizes authentication, API shape, and common patterns.
Base path
All current endpoints are served under /api/v1.
Authentication
The management API uses HTTP Basic Authentication configured in yedmq.toml.
The shipped example config binds the API to 127.0.0.1 and starts with users = [], so you need to add at least one user before calling the API:
[listener.api.auth]
users = [{ username = "admin", password = "replace_me" }]
Example request:
curl -u admin:replace_me \
http://127.0.0.1:3456/api/v1/plugins
Main endpoint groups
- System and plugins:
GET /api/v1/system_infoGET /api/v1/pluginsPOST /api/v1/plugins/rescanGET /api/v1/plugins/{plugin_name}POST /api/v1/plugins/{plugin_name}/startPOST /api/v1/plugins/{plugin_name}/stopPOST /api/v1/plugins/{plugin_name}/restartGET /api/v1/plugins/{plugin_name}/logs
- Tenant-scoped operations:
GET /api/v1/{tenant_id}/clientsGET /api/v1/{tenant_id}/topicsGET /api/v1/{tenant_id}/messages/retainedPOST /api/v1/{tenant_id}/messagesPOST /api/v1/{tenant_id}/clients/{client_id}/kickoff
- Cluster management:
GET /api/v1/cluster/metricsGET /api/v1/cluster/readyPOST /api/v1/cluster/learnersPOST /api/v1/cluster/nodesPOST /api/v1/cluster/topic/learnersPOST /api/v1/cluster/session_actor_map/learnersPOST /api/v1/cluster/session_state/learnersPOST /api/v1/cluster/membership- per-raft init and membership endpoints
Pagination
List endpoints may expose offset and limit query parameters. When pagination applies, the response includes a meta object describing the current window.
Plugin workflow
- Use
POST /api/v1/plugins/rescanafter adding, removing, or editing plugin directories on disk. rescanonly updates discovery data. It does not start, stop, or restart plugin processes for you.- Use
POST /api/v1/plugins/{plugin_name}/restartto apply the latest manifest from disk to an existing plugin. - Use
GET /api/v1/plugins?scope=allplusGET /api/v1/plugins/{plugin_name}when you need to compare discovered vs managed state before taking action. - Use
GET /api/v1/plugins/{plugin_name}/logs?tail=100for recent runtime diagnostics.
Cluster workflow
- Use
GET /api/v1/cluster/readyin automation or health checks before adding nodes or routing traffic. - Use
POST /api/v1/cluster/nodesas the high-level join workflow when you want to add a node across all raft groups. - Use the per-raft
.../learnersand.../membershipendpoints only when you need lower-level recovery or staged cluster operations.
Recommended usage
Use the generated OpenAPI pages whenever you need:
- request and response schemas
- exact field names
- example payloads
- per-endpoint parameter lists