WallMRR API Reference
Integrate WallMRR into your existing terminal workflows, CI pipelines, or internal tools using our REST API.
The public API — API keys for your own scripts, part of Studio — is coming soon. The endpoints below are the ones the WallMRR dashboard uses today, authenticated with a signed-in session. For agents, use the MCP server, which works now.
All API requests must be transmitted over HTTPS to https://api.wallmrr.com with your signed-in session token in the HTTP Authorization header:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.wallmrr.com/v1/dashboard/projectsEndpoints
Core endpoints for projects, metrics telemetry, layouts, and device pairing.
/v1/dashboard/projectsList all projects configured on the authenticated account.
{
"projects": [
{
"id": "74cff1d7-b395-41fb-ab07-8004a7d7e0a7",
"name": "WallMRR Prod",
"slug": "wallmrr",
"displayCurrency": "USD",
"isPublic": true,
"amountMode": "exact"
}
]
}/v1/dashboard/projects/{projectId}/snapshotThe same pre-computed snapshot a paired screen renders. Money is in integer minor units; every metric names its source and how fresh it is.
{
"projectId": "74cff1d7-b395-41fb-ab07-8004a7d7e0a7",
"displayCurrency": "USD",
"generatedAt": "2026-09-09T00:00:00Z",
"expiresAt": "2026-09-09T00:01:00Z",
"revision": 1842,
"metrics": {
"mrr": {
"key": "mrr",
"value": 1845000,
"unit": "currency",
"currency": "USD",
"window": "now",
"delta": { "absolute": 4800, "percent": 0.26, "trend": "up", "basis": "previous_day" },
"source": { "provider": "stripe", "connectionId": "5b0e…", "fetchedAt": "2026-09-08T23:59:30Z", "freshness": "fresh" }
}
}
}/v1/dashboard/projects/{projectId}/layoutUpdate the display layout mode, active theme, and metric widgets.
{
"mode": "monolith",
"theme": "obsidian",
"widgets": ["mrr", "arr", "active_subscriptions"]
}/v1/tv/pair/claimClaim the six-character code a TV is showing, for one of your projects. Body: { "code", "projectId", "name"? }. The TV collects its tokens on its next status poll.
{
"status": "claimed",
"screenId": "0c9d2f4e-6a51-4d7b-9e0a-3f8b1c2d4e5f",
"deviceToken": "…",
"refreshToken": "…"
}/v1/dashboard/billingRetrieve current plan tier, active limitations, and Polar billing portal URL.
{
"plan": "studio",
"limits": {
"projects": -1,
"screens": 5,
"dataSources": -1,
"apiAccess": true,
"allThemes": true,
"customLayouts": true
}
}Looking for Model Context Protocol (MCP)?
For Claude Desktop and Cursor, use the streamable HTTP MCP server instead of writing raw curl commands.