API keys & connection

GET /v1/connection

Everything a client needs to connect to this voxd:

{ "url": "http://127.0.0.1:4870", "api_base": "http://127.0.0.1:4870/v1",
  "mcp_url": "http://127.0.0.1:4870/mcp", "openapi_url": "http://127.0.0.1:4870/openapi.json",
  "docs_url": "http://127.0.0.1:4870/docs",
  "bridge_path": "/Applications/VoxStudio.app/…/voxd/mcp_bridge.py", "auth_required": true }

Finding voxd from a script

The app starts voxd on port 4870. If that port is busy, voxd uses a free port instead. While voxd is running, it writes voxd.json into the VoxStudio data folder:

OS Data folder
macOS ~/Library/Application Support/com.voxstudio.app/
Windows %APPDATA%\VoxStudio\
Linux ~/.local/share/voxstudio/

The file looks like {"url": "http://127.0.0.1:4870", "port": 4870, "pid": 12345, "version": "…"}, and is removed when voxd stops.

Keys

Only the VoxStudio app itself can manage keys; a key gets 403 forbidden on these endpoints.

GET /v1/keys [{"id", "name", "hint", "created_at", "last_used_at"}], newest first
POST /v1/keys {"name": "n8n"} returns 201 with the same fields plus key. This is the only time the full key is returned.
DELETE /v1/keys/{id} Revoke; 204

last_used_at is updated at most once a minute. The keys.changed event is sent after a key is created or revoked.