HTTP
Dashboard API
The base address is http://127.0.0.1:8081. You can change it in the config. The dashboard also gives /ws, a WebSocket connection for live data.
The config and the models
| Method | Path | Function |
| GET/PUT | /api/config | Reads or writes the full config as JSON. Add ?format=yaml to get YAML. |
| GET/POST | /api/validate | Checks a config. Glider does not apply it. |
| GET | /api/vram | Lists the GPUs and the models that Glider found |
| PUT | /api/gpu-assignments | Assigns a GPU to each model |
| GET/POST | /api/models · /api/models/{id}/load · /unload | Lists the models. Loads or unloads one model. |
| GET | /api/metrics | Gives the route counts and the local and cloud percentages |
| GET | /api/sessions · /{id} | Lists the recorded delegate sessions |
The context store
| Method | Path | Function |
| GET | /api/context/recent | Lists the most recent events |
| GET | /api/context/turns · /turns/{id} | Lists the turn families |
| GET | /api/context/episodes · /export | Gives the episode pack |
| POST | /api/context/prune | Deletes the data that is older than the retention time |
| POST | /api/context/index-tree · /index-symbols | Reads the file tree or the symbols into the store |
| GET | /api/context/communities · /explain | Add ?turn_id= |
The router and the rule editor
| Method | Path | Function |
| POST | /api/playground/parse | Reads a Starlark routing rule |
| POST | /api/router/explain | Shows which rule an example request obeys |
| GET | /api/router/lint | Examines the routing config for errors |
MITM data
| Method | Path | Function |
| GET | /api/mitm/debug/recent | Lists the most recent intercepted requests |
| POST | /api/mitm/enrollment | Sets the CA enrollment condition |
The vendors and the hot-swap registry
| Method | Path | Function |
| GET | /api/vendors | Gives the recorded vendor registry. It contains the CLIs that Glider found, the templates and the default workspace. |
| POST | /api/vendors/discover | Reads configs/vendor_candidates.yaml again and looks for the CLIs |
| POST | /api/vendors/workspace | Sets the default workspace directory for a delegate |
| POST | /api/vendors/{name}/enable · /disable | Turns a vendor on or off |
| POST | /api/vendors/{name}/templates | Changes the command templates of a vendor |
| GET/POST | /api/vendors/{name}/permissions | Reads or sets the tool permissions that Glider keeps for a vendor |
| POST | /api/vendors/{name}/launch-interactive | Opens a separate console window for that vendor |
| POST | /api/vendors/response-detail | Selects the "clean" format or the "raw" format for a delegate reply |
| GET/PUT | /api/hotswap/modules · /{name} | Reads or changes the hot-swap registry |
The workspace
These endpoints read the workspace directory. The default is ~/.glider/workspace. In the dashboard, open the Workspace page.
| Method | Path | Function |
| GET | /api/workspace | Lists runs/. With no parameters, the endpoint uses path=runs. |
| GET | /api/workspace?run=<id> | Lists the work and out directories of that run |
| GET | /api/workspace?path=runs/<id>/out | Lists one directory |
| GET | /api/workspace?file=…&limit= | Shows the start of a text file |
| GET | /api/workspace?diff=1&a=…&b=… | Compares two paths and shows the differences |
MCP
These endpoints use internal/mcp.Manager. In the dashboard, open the MCP page. For more data, refer to Tools & MCP.
| Method | Path | Function |
| GET | /api/mcp/servers · /{id} · /{id}/tools | Gives the condition of a server and its list of tools |
| POST | /api/mcp/servers/{id}/connect · /disconnect · /reconnect · /refresh | Controls the connection to a server |
| GET | /api/mcp/github | Gives the token condition and the connection condition |
| POST/DELETE | /api/mcp/github/token | Writes a PAT, or deletes the token |
| POST | /api/mcp/github/device/start · /poll | Starts and continues the OAuth device procedure |
| GET/POST | /api/mcp/github/oauth/start | Starts the OAuth procedure of the browser. It is the alternative to the device procedure. |
| GET | /oauth/callback | Where the browser returns after that procedure. A person does not call it. |
The gateway endpoints
http://127.0.0.1:8080/v1/chat/completions · /v1/responses · /v1/models · /healthz
The gateway also gives /v1/messages. This is the Anthropic endpoint that Claude Code uses. It also accepts the delegate commands.
The WebSocket
ws://127.0.0.1:8081/ws sends an event each time something occurs. The client
sends nothing. Each message is one JSON object with two fields:
{"type": "request", "data": { … }}
{"type": "vram_update", "data": { … }}
request gives these fields. A field with no value is absent.
| Field | Values |
id · session_id · client_session | The identity of the request and of its session. |
mode | gateway or mitm |
action | local, cloud, origin_passthrough, canned or error |
route | local or cloud |
model · original_model | The model that answered, and the model that the CLI asked for before an alias. |
host · path | The target of the request. |
rule · reason | The rule that claimed the request, and the cause. An example of a cause is small_offload or must_cloud. |
role | plan, exec or research |
tokens · latency_ms | The size and the time. |
vram_update gives total, used, free and a list models. Each item has name, vram, state and backend.
Examples
# the config that operates now, as YAML
curl http://127.0.0.1:8081/api/config?format=yaml
# test a config, and apply nothing.
# Give a YAML content type, or the body must be JSON.
curl -X POST -H 'content-type: application/yaml' \
--data-binary @configs/glider.yaml \
http://127.0.0.1:8081/api/validate
# which rule does this message obey?
curl -X POST -H 'content-type: application/json' \
-d '{"text":"rename this function"}' \
http://127.0.0.1:8081/api/router/explain
# the same, with the other inputs of a decision
curl -X POST -H 'content-type: application/json' \
-d '{"text":"refactor the auth module","tools":["Edit"],"estimatedTokens":12000}' \
http://127.0.0.1:8081/api/router/explain
# find the CLIs on this machine again
curl -X POST http://127.0.0.1:8081/api/vendors/discover
# set the default workspace of a delegate
curl -X POST -H 'content-type: application/json' \
-d '{"path":"C:/projects/myapp"}' \
http://127.0.0.1:8081/api/vendors/workspace
# the route counts
curl http://127.0.0.1:8081/api/metrics
The conventions
| Item | Behaviour |
| Authorization | None. Each endpoint listens on 127.0.0.1 only. Do not put this port on a network that you do not control. |
| The format | JSON, in and out. /api/config also gives YAML with ?format=yaml. |
| An incorrect method | 405, with the text "method not allowed". |
| An error | 400 for input that Glider cannot read, and 500 for a failure inside. The body is text, and it is not JSON. |
| Turning it off | dashboard.enabled: false removes each of these endpoints. |