HTTP API Reference
Nov 4, 2026
5 min read
Mule’s API server exposes three classes of HTTP routes, all served from the
same listener (the binary defaults to :8080; the shipped docker-compose.yml
publishes it as 8140:8080, so http://localhost:8140 in the examples below):
| Class | Prefix | Auth | Purpose |
|---|---|---|---|
| OpenAI-compatible | /v1/* | Yes | Model catalog + chat completions (drop-in for OpenAI SDKs) |
| Management | /api/v1/* | Yes | CRUD for providers, tools, skills, agents, workflows, jobs, wakes, policies, WASM modules, settings, memory config |
| Infrastructure | /health, /ws, /voice/{job_id}/*, frontend catch-all | No | Health probes, WebSocket events, per-call voice audio, web UI shell |
Authentication uses Authorization: Bearer sk_mule_<hex> on every /v1/* and
/api/v1/* request. See Authentication & Tenancy
for key minting, the MULE_NO_AUTH=1 dev mode, and restricted keys. Routes are
defined in cmd/api/server.go; the auth middleware lives in
internal/api/auth.go.