Skip to main content
CompanyAPI DocsFeaturesDataFAQScope
Open the dashboard

Sample workspace · no brokerage connection

TellersWindow
CompanyAPI DocsFeaturesDataFAQScope
Open the dashboard
API Reference

The routes behind the TellersWindow API

The dashboard reads these JSON routes. There is no key to request and no account to open: the data behind them is the workspace file, apart from the one live price call the feed reports on.

$curl https://tellerswindow.vercel.app/api/portfolio

60 / 10

Rate limit per route, read / write

None

Authentication

REST

JSON API

Endpoints

API Reference

Every route the dashboard reads, with the shape of the body it returns.

Portfolio summary — total value, day change, allocation and holdings. ?section=allocation, ?section=holdings, ?section=series or ?section=workspace returns one part.

Response
{
  "success": true,
  "data": {
    "totalValue": 2408000,
    "dayChange": 17997.2,
    "dayChangePercent": 0.7530200383028841,
    "allocation": [
      {
        "name": "U.S. Equity",
        "value": 35.7
      },
      {
        "name": "Fixed Income",
        "value": 24.9
      },
      {
        "name": "Crypto",
        "value": 24.4
      },
      {
        "name": "Intl Equity",
        "value": 15
      }
    ],
    "holdings": [
      {
        "symbol": "VOO",
        "name": "Vanguard S&P 500 ETF",
        "type": "U.S. Equity",
        "value": 540000,
        "allocation": 22.4,
        "change24h": 0.43
      },
      {
        "symbol": "AAPL",
        "name": "Apple Inc.",
        "type": "U.S. Equity",
        "value": 320000,
        "allocation": 13.3,
        "change24h": -0.65
      }
    ],
    "workspace": {
      "label": "Sample portfolio",
      "note": "Sample data — a demonstration portfolio. No account, no brokerage link, nothing to trade.",
      "sample": true,
      "asOf": "2026-10-19T21:30:00.000Z",
      "positions": 6,
      "source": "data/portfolio.json"
    }
  },
  "timestamp": "2026-10-31T10:48:13.589Z"
}

No authentication

No route here asks for a token. There is no key to generate, no OAuth flow and no account to open — the data behind every route is the workspace file, and the only live market call is the price feed's.

Request HeaderHTTP
Accept: application/json

Rate Limits

60 requests per minute per client on each read route, 10 on each write route, each over a 60-second window. Every route has its own budget, so browsing one cannot spend another’s, and there is no key, no tier and no plan behind it.

Error Shape

Every failure returns the same envelope: success false, an error code, a message, a timestamp.

Direct calls

One call is the whole client

No package to install and no library to publish — the routes speak plain JSON over HTTP. Base URL: tellerswindow.vercel.app

Node.js

fetch('/api/portfolio')

Python

requests.get('/api/portfolio')

Go

http.Get("/api/portfolio")

Open the dashboard. Nothing to sign up for.

No API key, no tier, no plan — the dashboard opens straight onto the routes documented here.

Open the dashboardWho built this
HomeCompanyAPI DocsScopeDashboard
Email the builder — hello@adeshpreet.com

© 2026 TellersWindow Analytics. A portfolio dashboard — sample data, no real accounts, no brokerage connection.

Rust

reqwest::get("/api/portfolio")