Skip to content

mountsqli dev

mountsqli dev starts one server that serves your backend and the Studio dashboard. No separate process for the UI.

Terminal window
mountsqli dev --port 3737
Path Purpose
/<table> REST list (GET) and create (POST)
/<table>/:id GET / PUT / DELETE one row
/files/<key> storage PUT / GET / DELETE
/files/<key>/url HMAC-signed URL for GET
/live/<channel> SSE subscribe
/live/<channel>/publish broadcast to a channel
/ MountSQLI Studio dashboard (SPA)
/api/studio/* dashboard JSON: tables, query, erd, migrations, health
Terminal window
# list users
curl http://localhost:3737/users
# create a user
curl -X POST http://localhost:3737/users \
-H 'content-type: application/json' \
-d '{"email":"ada@example.com","age":36}'
Terminal window
# upload
curl -X PUT http://localhost:3737/files/avatar.png \
-H 'content-type: image/png' \
--data-binary @avatar.png
# signed URL
curl http://localhost:3737/files/avatar.png/url
Terminal window
# subscribe (SSE)
curl -N http://localhost:3737/live/room-1
# publish
curl -X POST http://localhost:3737/live/room-1/publish \
-H 'content-type: application/json' \
-d '{"text":"hello"}'

The Studio talks to the engine only through Db / Driver / QueryPlan. Merging it into the dev server means one command gives you the API, storage, realtime, and a visual dashboard.

  • Use dev for local full-stack work; use a real server in production.
  • Protect /files and /live with auth in production (see API → Auth Middleware).
  • Hitting /<table> before tables exist — run migrate apply first.
  • Confusing the signed-URL endpoint (/files/<key>/url) with the object GET.