quverOS
DocsDeveloper docs
Reach your workspace from anywhere.
A Quiver workspace is a live, schema-defined data layer — write records in, read aggregated metrics back out. Reach it three ways, all hitting the same API with the same workspace key:
Key-authed HTTP. Create files, set status & fields, read metrics.
ReadThe quiver command — scriptable get/set/run over the same API.
ReadConnect Claude or any MCP client; the server self-describes your config.
ReadThis is the same layer the Quiver Labs archer game runs on — a static site that gained persistence, a live leaderboard, and a real-time presence count with no backend of its own.
Mental model
The concepts behind every endpoint
A tenant — your dashboard. Everything (files, metrics, keys) is scoped to one workspace, and a key is bound to exactly one.
The primary record (a game, a transaction, a person…). It has a `type` from your config, JSON `data`, and an optional status that flows through phases.
Every field you define pushes its current value to a queryable KPI. That’s what powers cross-file metrics — you query aggregates, you don’t write SQL.
A config-defined aggregate (count, sum, max, grouped breakdowns, derived expressions). Read a computed value over the API; the engine does the math.
Auth
Workspace API keys
Pass the key as a bearer token on every request. A qvr_ key has full access to its workspace; GET requests are reads, POST/PATCH/DELETE are writes. (OAuth access tokens can be narrowed to a read-only scope — see the API page.)
Authorization: Bearer qvr_xxxxxxxxxxxx
Quickstart
A 60-second round-trip
# 1 — create a file (a "score" in a leaderboard workspace)
curl -X POST https://tellquiver.ai/api/files \
-H "Authorization: Bearer $QUIVER_KEY" \
-H "content-type: application/json" \
-d '{"type":"score","title":"Alice · 250","data":{"player":"Alice","value":250,"category":"hard"}}'
# → { "ok": true, "file": { "id": "…", "type": "score", "title": "Alice · 250" } }
# 2 — read a computed metric back
curl "https://tellquiver.ai/api/metrics?id=leaderboard" \
-H "Authorization: Bearer $QUIVER_KEY"
# → { "metric": { "id": "leaderboard", "metric": 250, "breakdown": [ … ] } }Same key, same endpoints from the CLI or an MCP client. Pick the door that fits how you build.