HTTP API reference
Generated at build time from the route handlers in apps/mlx-bun/src/server and their composition in apps/mlx-bun/src/cli, and from the manifests of the modules the app installs, without running the app. These are the current routes on main; released versions can differ.
Each table lists what one kind of server process answers, in dispatch order: the first matching row answers, and a request no row matches gets 404. * means every method not listed in an earlier row for the same path; path parameters appear as {id}. The source link is the check that selects the route.
- implemented: the handler answers.
- conditional: the row depends on the quoted composition input; when it does not apply, the request falls through to later rows.
- WebSocket upgrade: a socket an installed module declares in its manifest (
GET /ws/chatopens the browser’s chat session with the Pi agent, served by@mlx-bun/module-chat); the listener upgrades it before any other row, and a server whose state runs no such module answers the path like any other. - routed by model id: the request goes to the local model the JSON body’s
modelnames (loaded on demand, another drained first when it does not fit), else to the current model. - In the isolated server: served by parent paths are never forwarded; forwarded to the worker requests stream unchanged to the current model’s worker, and routed by model id requests to the worker of the model the body names.
In-process server (--in-process)
Section titled “In-process server (--in-process)”mlx-bun serve --in-process, and createServer from mlx-bun/server over a caller’s loaded context: one process owns the loaded models (residency by memory fit; a caller’s context is the only model), the browser app, chat, and jobs. Model-scoped paths belong to the current model. Composed at cli/serve-host.ts:342.
| Method | Path | Status | Source |
|---|---|---|---|
| GET | /ws/chat | WebSocket upgrade | module-chat/src/manifest.ts:18 |
| GET | / | implemented | web/assets.ts:19 |
| GET | /assets/app.js | implemented | web/assets.ts:20 |
| GET | /assets/hljs.js | implemented | web/assets.ts:21 |
| GET | /assets/hljs.css | implemented | web/assets.ts:22 |
| GET | /manifest.webmanifest | implemented | web/assets.ts:23 |
| GET | /assets/icon.svg | implemented | web/assets.ts:24 |
| GET | /sw.js | implemented | web/assets.ts:25 |
| GET | /status | 302 redirect | web/assets.ts:27 |
| GET | /chat | 302 redirect | web/assets.ts:27 |
| GET | /quantize | 302 redirect | web/assets.ts:27 |
| GET | /finetune | 302 redirect | web/assets.ts:27 |
| GET | /dataset | 302 redirect | web/assets.ts:27 |
| POST | /v1/chat/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/messages | routed by model id | server/model-routes.ts:18 |
| POST | /v1/responses | routed by model id | server/model-routes.ts:18 |
| POST | /v1/embeddings | routed by model id | server/model-routes.ts:18 |
| POST | /v1/decisions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/systemone | routed by model id | server/model-routes.ts:18 |
| GET | /v1/models | implemented | server/model-routes.ts:121 |
| GET | /v1/models/{id} | implemented | server/model-routes.ts:121 |
| GET | /stats | implemented | server/model-routes.ts:168 |
| GET | /health | implemented | server/model-routes.ts:180 |
| GET | /fit | implemented | server/status-routes.ts:69 |
| POST | /admin/cache/session/close | implemented | server/cache-routes.ts:14 |
| POST | /admin/cache/flush | implemented | server/cache-routes.ts:14 |
| GET | /v1 | implemented | server/discovery-routes.ts:17 |
| POST | /v1/audio/transcriptions | implemented | module-transcription/src/manifest.ts:12 |
| POST | /v1/audio/translations | implemented | module-transcription/src/manifest.ts:13 |
| POST | /admin/transcription/unload | implemented | module-transcription/src/manifest.ts:14 |
| POST | /v1/audio/sessions | implemented | module-transcription/src/manifest.ts:15 |
| POST | /v1/audio/sessions/{id}/audio | implemented | module-transcription/src/manifest.ts:16 |
| POST | /v1/audio/sessions/{id}/finish | implemented | module-transcription/src/manifest.ts:17 |
| DELETE | /v1/audio/sessions/{id} | implemented | module-transcription/src/manifest.ts:18 |
| GET | /api/jobs | implemented | server/job-routes.ts:8 |
| GET | /api/jobs/{id}/stream | implemented | server/job-routes.ts:13 |
| GET | /api/jobs/{id} | implemented | server/job-routes.ts:13 |
| GET | /api/dataset/templates | implemented | module-datasets/src/manifest.ts:12 |
| POST | /api/dataset/submit | implemented | module-datasets/src/manifest.ts:13 |
| GET | /api/metrics/snapshot | implemented | module-metrics/src/manifest.ts:12 |
| GET | /api/metrics/stream | implemented | module-metrics/src/manifest.ts:13 |
| GET | /api/metrics/history | implemented | module-metrics/src/manifest.ts:14 |
| GET | /api/metrics/history/{id} | implemented | module-metrics/src/manifest.ts:15 |
| GET | /api/metrics/bench/profiles | implemented | module-metrics/src/manifest.ts:16 |
| POST | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:17 |
| GET | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:18 |
| GET | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:19 |
| DELETE | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:20 |
| POST | /api/quantize/inspect | implemented | module-quantize/src/manifest.ts:12 |
| POST | /api/quantize/resolve-folder | implemented | module-quantize/src/manifest.ts:13 |
| POST | /api/quantize/submit | implemented | module-quantize/src/manifest.ts:14 |
| GET | /api/benchmarks/tasks | implemented | module-benchmarks/src/manifest.ts:12 |
| POST | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:13 |
| GET | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:14 |
| GET | /api/benchmarks/runs/{id} | implemented | module-benchmarks/src/manifest.ts:15 |
| GET | /api/benchmarks/compare | implemented | module-benchmarks/src/manifest.ts:16 |
| GET | /api/benchmarks/jobs | implemented | module-benchmarks/src/manifest.ts:17 |
| GET | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:18 |
| DELETE | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:19 |
| POST | /api/finetune/inspect-dataset | implemented | module-train/src/manifest.ts:12 |
| POST | /api/finetune/submit | implemented | module-train/src/manifest.ts:13 |
| GET | /library | implemented | module-models/src/manifest.ts:13 |
| GET | /downloads | implemented | module-models/src/manifest.ts:14 |
| GET | /api/hub/local | implemented | module-models/src/manifest.ts:15 |
| GET | /api/hub/search | implemented | module-models/src/manifest.ts:16 |
| POST | /api/hub/serve | implemented | module-models/src/manifest.ts:17 |
| POST | /api/hub/download | implemented | module-models/src/manifest.ts:18 |
| POST | /api/model/resolve-folder | implemented | module-models/src/manifest.ts:19 |
| GET | /api/gc/plan | implemented | module-models/src/manifest.ts:20 |
| POST | /api/gc/execute | implemented | module-models/src/manifest.ts:21 |
| GET | /v1/adapters/available | implemented | module-models/src/manifest.ts:22 |
| GET | /v1/adapters | implemented | module-models/src/manifest.ts:23 |
| POST | /v1/adapters | implemented | module-models/src/manifest.ts:24 |
| DELETE | /v1/adapters/{id} | implemented | module-models/src/manifest.ts:25 |
| POST | /api/finetune/merge | implemented | module-models/src/manifest.ts:26 |
| POST | /api/finetune/export | implemented | module-models/src/manifest.ts:27 |
| GET | /api/sessions/search | implemented | module-chat/src/manifest.ts:12 |
| GET | /api/sessions/export | implemented | module-chat/src/manifest.ts:13 |
| GET | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:14 |
| DELETE | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:15 |
| GET | /api/memory/status | implemented | module-memory/src/manifest.ts:59 |
| GET | /api/memory/list | implemented | module-memory/src/manifest.ts:67 |
| GET | /api/memory/search | implemented | module-memory/src/manifest.ts:75 |
| GET | /api/memory/article | implemented | module-memory/src/manifest.ts:83 |
| GET | /api/memory/links | implemented | module-memory/src/manifest.ts:91 |
| GET | /api/memory/history | implemented | module-memory/src/manifest.ts:99 |
| GET | /api/memory/diff | implemented | module-memory/src/manifest.ts:107 |
| POST | /api/memory/init | implemented | module-memory/src/manifest.ts:115 |
| GET | /v1/memory/synthesize | implemented | module-memory/src/manifest.ts:123 |
| GET, POST | /api/settings/hf-token | implemented | server/publishing-routes.ts:12 |
| POST | /api/quantize/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/finetune/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/dataset/push | implemented | server/publishing-routes.ts:13 |
Isolated server (the default)
Section titled “Isolated server (the default)”mlx-bun serve: this process keeps the browser app, chat, jobs, and Responses history and loads no model; one worker process per resident model (residency by memory fit, held by this process) answers the model-scoped paths, routed by the request’s model. A Whisper checkpoint runs in a worker of its own. Composed at cli/serve-isolated.ts:178.
| Method | Path | Status | Source |
|---|---|---|---|
| GET | /ws/chat | WebSocket upgrade | module-chat/src/manifest.ts:18 |
| GET | / | implemented | web/assets.ts:19 |
| GET | /assets/app.js | implemented | web/assets.ts:20 |
| GET | /assets/hljs.js | implemented | web/assets.ts:21 |
| GET | /assets/hljs.css | implemented | web/assets.ts:22 |
| GET | /manifest.webmanifest | implemented | web/assets.ts:23 |
| GET | /assets/icon.svg | implemented | web/assets.ts:24 |
| GET | /sw.js | implemented | web/assets.ts:25 |
| GET | /status | 302 redirect | web/assets.ts:27 |
| GET | /chat | 302 redirect | web/assets.ts:27 |
| GET | /quantize | 302 redirect | web/assets.ts:27 |
| GET | /finetune | 302 redirect | web/assets.ts:27 |
| GET | /dataset | 302 redirect | web/assets.ts:27 |
| GET | /api/jobs | implemented | server/job-routes.ts:8 |
| GET | /api/jobs/{id}/stream | implemented | server/job-routes.ts:13 |
| GET | /api/jobs/{id} | implemented | server/job-routes.ts:13 |
| GET | /api/dataset/templates | implemented | module-datasets/src/manifest.ts:12 |
| POST | /api/dataset/submit | implemented | module-datasets/src/manifest.ts:13 |
| GET | /api/metrics/snapshot | implemented | module-metrics/src/manifest.ts:12 |
| GET | /api/metrics/stream | implemented | module-metrics/src/manifest.ts:13 |
| GET | /api/metrics/history | implemented | module-metrics/src/manifest.ts:14 |
| GET | /api/metrics/history/{id} | implemented | module-metrics/src/manifest.ts:15 |
| GET | /api/metrics/bench/profiles | implemented | module-metrics/src/manifest.ts:16 |
| POST | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:17 |
| GET | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:18 |
| GET | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:19 |
| DELETE | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:20 |
| POST | /api/quantize/inspect | implemented | module-quantize/src/manifest.ts:12 |
| POST | /api/quantize/resolve-folder | implemented | module-quantize/src/manifest.ts:13 |
| POST | /api/quantize/submit | implemented | module-quantize/src/manifest.ts:14 |
| GET | /api/benchmarks/tasks | implemented | module-benchmarks/src/manifest.ts:12 |
| POST | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:13 |
| GET | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:14 |
| GET | /api/benchmarks/runs/{id} | implemented | module-benchmarks/src/manifest.ts:15 |
| GET | /api/benchmarks/compare | implemented | module-benchmarks/src/manifest.ts:16 |
| GET | /api/benchmarks/jobs | implemented | module-benchmarks/src/manifest.ts:17 |
| GET | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:18 |
| DELETE | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:19 |
| POST | /api/finetune/inspect-dataset | implemented | module-train/src/manifest.ts:12 |
| POST | /api/finetune/submit | implemented | module-train/src/manifest.ts:13 |
| GET | /library | implemented | module-models/src/manifest.ts:13 |
| GET | /downloads | implemented | module-models/src/manifest.ts:14 |
| GET | /api/hub/local | implemented | module-models/src/manifest.ts:15 |
| GET | /api/hub/search | implemented | module-models/src/manifest.ts:16 |
| POST | /api/hub/serve | implemented | module-models/src/manifest.ts:17 |
| POST | /api/hub/download | implemented | module-models/src/manifest.ts:18 |
| POST | /api/model/resolve-folder | implemented | module-models/src/manifest.ts:19 |
| GET | /api/gc/plan | implemented | module-models/src/manifest.ts:20 |
| POST | /api/gc/execute | implemented | module-models/src/manifest.ts:21 |
| GET | /v1/adapters/available | implemented | module-models/src/manifest.ts:22 |
| GET | /v1/adapters | implemented | module-models/src/manifest.ts:23 |
| POST | /v1/adapters | implemented | module-models/src/manifest.ts:24 |
| DELETE | /v1/adapters/{id} | implemented | module-models/src/manifest.ts:25 |
| POST | /api/finetune/merge | implemented | module-models/src/manifest.ts:26 |
| POST | /api/finetune/export | implemented | module-models/src/manifest.ts:27 |
| GET | /api/sessions/search | implemented | module-chat/src/manifest.ts:12 |
| GET | /api/sessions/export | implemented | module-chat/src/manifest.ts:13 |
| GET | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:14 |
| DELETE | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:15 |
| GET | /api/memory/status | implemented | module-memory/src/manifest.ts:59 |
| GET | /api/memory/list | implemented | module-memory/src/manifest.ts:67 |
| GET | /api/memory/search | implemented | module-memory/src/manifest.ts:75 |
| GET | /api/memory/article | implemented | module-memory/src/manifest.ts:83 |
| GET | /api/memory/links | implemented | module-memory/src/manifest.ts:91 |
| GET | /api/memory/history | implemented | module-memory/src/manifest.ts:99 |
| GET | /api/memory/diff | implemented | module-memory/src/manifest.ts:107 |
| POST | /api/memory/init | implemented | module-memory/src/manifest.ts:115 |
| GET | /v1/memory/synthesize | implemented | module-memory/src/manifest.ts:123 |
| GET, POST | /api/settings/hf-token | implemented | server/publishing-routes.ts:12 |
| POST | /api/quantize/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/finetune/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/dataset/push | implemented | server/publishing-routes.ts:13 |
| * | /admin/lease | served by parent | server/proxy-routes.ts:20 |
| * | /admin/drain | served by parent | server/proxy-routes.ts:20 |
| * | /admin/memory/complete | served by parent | server/proxy-routes.ts:20 |
| * | /admin/events | served by parent | server/proxy-routes.ts:20 |
| * | /admin/adapters | served by parent | server/proxy-routes.ts:20 |
| * | /v1/memory/synthesize | served by parent | server/proxy-routes.ts:20 |
| GET | /engine | implemented | server/proxy-routes.ts:177 |
| GET | /health | implemented | server/proxy-routes.ts:179 |
| GET | /stats | implemented | server/proxy-routes.ts:180 |
| POST | /v1/responses | implemented | server/proxy-routes.ts:182 |
| POST | /v1/chat/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/messages | routed by model id | server/model-routes.ts:18 |
| POST | /v1/embeddings | routed by model id | server/model-routes.ts:18 |
| POST | /v1/decisions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/systemone | routed by model id | server/model-routes.ts:18 |
| * | (any other path) | forwarded to the worker | server/proxy-routes.ts:184 |
Isolation worker socket
Section titled “Isolation worker socket”What a model worker answers on its private Unix socket; only its parent connects. The worker admin routes answer ahead of the model routes. Composed at cli/worker-entry.ts:164.
| Method | Path | Status | Source |
|---|---|---|---|
| GET | /health | implemented | server/worker-routes.ts:282 |
| * | /health | 405 method not allowed | server/worker-routes.ts:282 |
| POST | /admin/lease | conditional: served if options.acquireExecutionLease | server/worker-routes.ts:283 |
| * | /admin/lease | 405 method not allowed; conditional: served if options.acquireExecutionLease | server/worker-routes.ts:283 |
| POST | /admin/drain | implemented | server/worker-routes.ts:284 |
| * | /admin/drain | 405 method not allowed | server/worker-routes.ts:284 |
| GET | /admin/events | conditional: served if (options.events || options.memory) | server/worker-routes.ts:285 |
| * | /admin/events | 405 method not allowed; conditional: served if (options.events || options.memory) | server/worker-routes.ts:285 |
| POST | /admin/memory/complete | conditional: served if options.memoryTaskModel; served if options.acquireExecutionLease | server/worker-routes.ts:290 |
| * | /admin/memory/complete | 405 method not allowed; conditional: served if options.memoryTaskModel; served if options.acquireExecutionLease | server/worker-routes.ts:290 |
| POST | /admin/adapters | conditional: served if options.adapters | server/worker-routes.ts:291 |
| * | /admin/adapters | 405 method not allowed; conditional: served if options.adapters | server/worker-routes.ts:291 |
| POST | /v1/chat/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/messages | routed by model id | server/model-routes.ts:18 |
| POST | /v1/responses | routed by model id | server/model-routes.ts:18 |
| POST | /v1/embeddings | routed by model id | server/model-routes.ts:18 |
| POST | /v1/decisions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/systemone | routed by model id | server/model-routes.ts:18 |
| GET | /v1/models | implemented | server/model-routes.ts:121 |
| GET | /v1/models/{id} | implemented | server/model-routes.ts:121 |
| GET | /stats | implemented | server/model-routes.ts:168 |
| GET | /fit | implemented | server/status-routes.ts:69 |
| POST | /admin/cache/session/close | implemented | server/cache-routes.ts:14 |
| POST | /admin/cache/flush | implemented | server/cache-routes.ts:14 |
| GET | /v1 | implemented | server/discovery-routes.ts:17 |
| POST | /v1/audio/transcriptions | implemented | module-transcription/src/manifest.ts:12 |
| POST | /v1/audio/translations | implemented | module-transcription/src/manifest.ts:13 |
| POST | /admin/transcription/unload | implemented | module-transcription/src/manifest.ts:14 |
| POST | /v1/audio/sessions | implemented | module-transcription/src/manifest.ts:15 |
| POST | /v1/audio/sessions/{id}/audio | implemented | module-transcription/src/manifest.ts:16 |
| POST | /v1/audio/sessions/{id}/finish | implemented | module-transcription/src/manifest.ts:17 |
| DELETE | /v1/audio/sessions/{id} | implemented | module-transcription/src/manifest.ts:18 |
App worker socket (openIsolatedHost)
Section titled “App worker socket (openIsolatedHost)”The app worker launch form (mlx-bun/engine’s openIsolatedHost): the Server app composed by runServe on a private Unix socket, the worker admin routes ahead of its route groups, with the execution lease. A Whisper checkpoint gets the transcription-only routes behind the same admin routes, without the execution lease. Composed at cli/worker-entry.ts:237.
| Method | Path | Status | Source |
|---|---|---|---|
| GET | /ws/chat | WebSocket upgrade | module-chat/src/manifest.ts:18 |
| GET | / | implemented | web/assets.ts:19 |
| GET | /assets/app.js | implemented | web/assets.ts:20 |
| GET | /assets/hljs.js | implemented | web/assets.ts:21 |
| GET | /assets/hljs.css | implemented | web/assets.ts:22 |
| GET | /manifest.webmanifest | implemented | web/assets.ts:23 |
| GET | /assets/icon.svg | implemented | web/assets.ts:24 |
| GET | /sw.js | implemented | web/assets.ts:25 |
| GET | /status | 302 redirect | web/assets.ts:27 |
| GET | /chat | 302 redirect | web/assets.ts:27 |
| GET | /quantize | 302 redirect | web/assets.ts:27 |
| GET | /finetune | 302 redirect | web/assets.ts:27 |
| GET | /dataset | 302 redirect | web/assets.ts:27 |
| GET | /health | implemented | server/worker-routes.ts:282 |
| * | /health | 405 method not allowed | server/worker-routes.ts:282 |
| POST | /admin/lease | conditional: served if options.acquireExecutionLease | server/worker-routes.ts:283 |
| * | /admin/lease | 405 method not allowed; conditional: served if options.acquireExecutionLease | server/worker-routes.ts:283 |
| POST | /admin/drain | implemented | server/worker-routes.ts:284 |
| * | /admin/drain | 405 method not allowed | server/worker-routes.ts:284 |
| GET | /admin/events | conditional: served if (options.events || options.memory) | server/worker-routes.ts:285 |
| * | /admin/events | 405 method not allowed; conditional: served if (options.events || options.memory) | server/worker-routes.ts:285 |
| POST | /admin/memory/complete | conditional: served if options.memoryTaskModel; served if options.acquireExecutionLease | server/worker-routes.ts:290 |
| * | /admin/memory/complete | 405 method not allowed; conditional: served if options.memoryTaskModel; served if options.acquireExecutionLease | server/worker-routes.ts:290 |
| POST | /admin/adapters | conditional: served if options.adapters | server/worker-routes.ts:291 |
| * | /admin/adapters | 405 method not allowed; conditional: served if options.adapters | server/worker-routes.ts:291 |
| POST | /v1/chat/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/completions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/messages | routed by model id | server/model-routes.ts:18 |
| POST | /v1/responses | routed by model id | server/model-routes.ts:18 |
| POST | /v1/embeddings | routed by model id | server/model-routes.ts:18 |
| POST | /v1/decisions | routed by model id | server/model-routes.ts:18 |
| POST | /v1/systemone | routed by model id | server/model-routes.ts:18 |
| GET | /v1/models | implemented | server/model-routes.ts:121 |
| GET | /v1/models/{id} | implemented | server/model-routes.ts:121 |
| GET | /stats | implemented | server/model-routes.ts:168 |
| GET | /fit | implemented | server/status-routes.ts:69 |
| POST | /admin/cache/session/close | implemented | server/cache-routes.ts:14 |
| POST | /admin/cache/flush | implemented | server/cache-routes.ts:14 |
| GET | /v1 | implemented | server/discovery-routes.ts:17 |
| POST | /v1/audio/transcriptions | implemented | module-transcription/src/manifest.ts:12 |
| POST | /v1/audio/translations | implemented | module-transcription/src/manifest.ts:13 |
| POST | /admin/transcription/unload | implemented | module-transcription/src/manifest.ts:14 |
| POST | /v1/audio/sessions | implemented | module-transcription/src/manifest.ts:15 |
| POST | /v1/audio/sessions/{id}/audio | implemented | module-transcription/src/manifest.ts:16 |
| POST | /v1/audio/sessions/{id}/finish | implemented | module-transcription/src/manifest.ts:17 |
| DELETE | /v1/audio/sessions/{id} | implemented | module-transcription/src/manifest.ts:18 |
| GET | /api/jobs | implemented | server/job-routes.ts:8 |
| GET | /api/jobs/{id}/stream | implemented | server/job-routes.ts:13 |
| GET | /api/jobs/{id} | implemented | server/job-routes.ts:13 |
| GET | /api/dataset/templates | implemented | module-datasets/src/manifest.ts:12 |
| POST | /api/dataset/submit | implemented | module-datasets/src/manifest.ts:13 |
| GET | /api/metrics/snapshot | implemented | module-metrics/src/manifest.ts:12 |
| GET | /api/metrics/stream | implemented | module-metrics/src/manifest.ts:13 |
| GET | /api/metrics/history | implemented | module-metrics/src/manifest.ts:14 |
| GET | /api/metrics/history/{id} | implemented | module-metrics/src/manifest.ts:15 |
| GET | /api/metrics/bench/profiles | implemented | module-metrics/src/manifest.ts:16 |
| POST | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:17 |
| GET | /api/metrics/bench | implemented | module-metrics/src/manifest.ts:18 |
| GET | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:19 |
| DELETE | /api/metrics/bench/{id} | implemented | module-metrics/src/manifest.ts:20 |
| POST | /api/quantize/inspect | implemented | module-quantize/src/manifest.ts:12 |
| POST | /api/quantize/resolve-folder | implemented | module-quantize/src/manifest.ts:13 |
| POST | /api/quantize/submit | implemented | module-quantize/src/manifest.ts:14 |
| GET | /api/benchmarks/tasks | implemented | module-benchmarks/src/manifest.ts:12 |
| POST | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:13 |
| GET | /api/benchmarks/runs | implemented | module-benchmarks/src/manifest.ts:14 |
| GET | /api/benchmarks/runs/{id} | implemented | module-benchmarks/src/manifest.ts:15 |
| GET | /api/benchmarks/compare | implemented | module-benchmarks/src/manifest.ts:16 |
| GET | /api/benchmarks/jobs | implemented | module-benchmarks/src/manifest.ts:17 |
| GET | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:18 |
| DELETE | /api/benchmarks/jobs/{id} | implemented | module-benchmarks/src/manifest.ts:19 |
| POST | /api/finetune/inspect-dataset | implemented | module-train/src/manifest.ts:12 |
| POST | /api/finetune/submit | implemented | module-train/src/manifest.ts:13 |
| GET | /library | implemented | module-models/src/manifest.ts:13 |
| GET | /downloads | implemented | module-models/src/manifest.ts:14 |
| GET | /api/hub/local | implemented | module-models/src/manifest.ts:15 |
| GET | /api/hub/search | implemented | module-models/src/manifest.ts:16 |
| POST | /api/hub/serve | implemented | module-models/src/manifest.ts:17 |
| POST | /api/hub/download | implemented | module-models/src/manifest.ts:18 |
| POST | /api/model/resolve-folder | implemented | module-models/src/manifest.ts:19 |
| GET | /api/gc/plan | implemented | module-models/src/manifest.ts:20 |
| POST | /api/gc/execute | implemented | module-models/src/manifest.ts:21 |
| GET | /v1/adapters/available | implemented | module-models/src/manifest.ts:22 |
| GET | /v1/adapters | implemented | module-models/src/manifest.ts:23 |
| POST | /v1/adapters | implemented | module-models/src/manifest.ts:24 |
| DELETE | /v1/adapters/{id} | implemented | module-models/src/manifest.ts:25 |
| POST | /api/finetune/merge | implemented | module-models/src/manifest.ts:26 |
| POST | /api/finetune/export | implemented | module-models/src/manifest.ts:27 |
| GET | /api/sessions/search | implemented | module-chat/src/manifest.ts:12 |
| GET | /api/sessions/export | implemented | module-chat/src/manifest.ts:13 |
| GET | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:14 |
| DELETE | /api/settings/tool-approvals | implemented | module-chat/src/manifest.ts:15 |
| GET | /api/memory/status | implemented | module-memory/src/manifest.ts:59 |
| GET | /api/memory/list | implemented | module-memory/src/manifest.ts:67 |
| GET | /api/memory/search | implemented | module-memory/src/manifest.ts:75 |
| GET | /api/memory/article | implemented | module-memory/src/manifest.ts:83 |
| GET | /api/memory/links | implemented | module-memory/src/manifest.ts:91 |
| GET | /api/memory/history | implemented | module-memory/src/manifest.ts:99 |
| GET | /api/memory/diff | implemented | module-memory/src/manifest.ts:107 |
| POST | /api/memory/init | implemented | module-memory/src/manifest.ts:115 |
| GET | /v1/memory/synthesize | implemented | module-memory/src/manifest.ts:123 |
| GET, POST | /api/settings/hf-token | implemented | server/publishing-routes.ts:12 |
| POST | /api/quantize/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/finetune/push | implemented | server/publishing-routes.ts:13 |
| POST | /api/dataset/push | implemented | server/publishing-routes.ts:13 |
Transcription-only server
Section titled “Transcription-only server”mlx-bun serve <whisper checkpoint>: the audio and discovery routes only, with no chat model, jobs, or browser app. Composed at cli/serve-host.ts:410.
| Method | Path | Status | Source |
|---|---|---|---|
| POST | /v1/audio/transcriptions | implemented | module-transcription/src/manifest.ts:12 |
| POST | /v1/audio/translations | implemented | module-transcription/src/manifest.ts:13 |
| POST | /admin/transcription/unload | implemented | module-transcription/src/manifest.ts:14 |
| POST | /v1/audio/sessions | implemented | module-transcription/src/manifest.ts:15 |
| POST | /v1/audio/sessions/{id}/audio | implemented | module-transcription/src/manifest.ts:16 |
| POST | /v1/audio/sessions/{id}/finish | implemented | module-transcription/src/manifest.ts:17 |
| DELETE | /v1/audio/sessions/{id} | implemented | module-transcription/src/manifest.ts:18 |
| GET | /health | implemented | app-services/src/companion-info-routes.ts:34 |
| GET | /stats | implemented | app-services/src/companion-info-routes.ts:36 |
| GET | /v1 | implemented | app-services/src/companion-info-routes.ts:38 |
| GET | /v1/models | implemented | app-services/src/companion-info-routes.ts:40 |
| GET | /v1/models/{id} | implemented | app-services/src/companion-info-routes.ts:40 |