> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simplefunctions.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Surface Map

> Inventory of every user-callable SimpleFunctions surface — REST routes, MCP tools, and CLI namespaces — and what is intentionally not promoted in docs.

<Note>
  Operator inventory. This is not a first-run user guide; start with [Quickstart](/quickstart), [Agentic CLI](/cli/agentic-cli), or [REST API](/api-reference/overview). Internal-only routes are listed to explain documentation boundaries, not as public integration targets.
</Note>

This page is the docs-side audit checklist: every user-callable surface, grouped by domain, plus the surfaces that exist in code but are intentionally not promoted (admin, cron, dashboard-only).

Filter: a surface appears here only if it is callable by an external user — directly via `curl`, via the [CLI](/cli/agentic-cli), via the [MCP server](/cli/mcp-server), via [Telegram](/cli/telegram), or via the [Agent runtime](/guides/agent-runtime).

## Public REST surfaces (no auth)

### Markets and search

* `/api/public/query`
* `/api/public/query-econ`
* `/api/public/query-gov`
* `/api/public/search`
* `/api/public/scan`
* `/api/public/screen`
* `/api/public/screen-by-tickers`
* `/api/public/markets`
* `/api/public/newmarkets`
* `/api/public/market/{ticker}`
* `/api/public/market/{ticker}/candles`
* `/api/public/market/{ticker}/history`
* `/api/public/market-microstructure-history`
* `/api/public/live-tickers`
* `/api/public/cross-venue/pairs`
* `/api/public/cross-venue/stats`

### Aggregations

* `/api/public/index`
* `/api/public/index/history`
* `/api/public/odds`
* `/api/public/odds.md`
* `/api/public/answer/{slug}`
* `/api/public/regime/scan`
* `/api/public/contagion`
* `/api/public/diff`
* `/api/public/yield-curves`
* `/api/public/yield-curves/{event}`
* `/api/public/liquidity-by-theme`

Deprecated: `/api/public/regime/history` returns `410 Gone`; use `/api/public/regime/scan` or `/api/public/market-microstructure-history`.

### Calendar, ideas, briefings

* `/api/public/calendar`
* `/api/public/ideas`
* `/api/public/ideas/{id}`
* `/api/public/highlights`
* `/api/public/briefing`
* `/api/public/context`
* `/api/public/guide`
* `/api/public/topic/{slug}`

### Reference data

* `/api/public/fred`
* `/api/public/databento`
* `/api/public/trad-markets`

### Government

* `/api/public/legislation`
* `/api/public/legislation/{billId}`
* `/api/public/congress/members`
* `/api/public/congress/member/{id}`

### Content

* `/api/public/glossary`
* `/api/public/glossary/{slug}`
* `/api/public/opinions`
* `/api/public/opinions/{slug}`
* `/api/public/technicals`
* `/api/public/technicals/{slug}`
* `/api/public/theses`
* `/api/public/thesis/{slug}`
* `/api/public/skills`
* `/api/public/skill/{slug}`
* `/api/public/discuss` (POST)

### Other public

* `/api/skills` (built-in skill catalog, no-auth)
* `/api/calibration` (auth optional)
* `/api/edges` (auth optional)
* `/api/changes`
* `/api/feed` (auth optional — see Account)
* `/api/health`
* `/api/tools`
* `/api/monitor-the-situation/enrich` (POST, no-auth demo entry)

## Agent surfaces

* `/api/agent/world`
* `/api/agent/world/{...path}` (drill)
* `/api/agent/world/delta`
* `/api/agent/world/feed`
* `/api/agent/inspect/{ticker}`
* `/api/agent/feed/{topic}`

## Authenticated account surfaces

### Theses

* `/api/thesis` (GET / POST)
* `/api/thesis/create` (POST — synchronous form)
* `/api/thesis/{id}` (GET / PATCH / DELETE)
* `/api/thesis/{id}/context`
* `/api/thesis/{id}/changes`
* `/api/thesis/{id}/evaluations`
* `/api/thesis/{id}/evaluate` (POST)
* `/api/thesis/{id}/signal` (POST)
* `/api/thesis/{id}/heartbeat` (GET / PATCH)
* `/api/thesis/{id}/augment` (POST)
* `/api/thesis/{id}/whatif` (POST)
* `/api/thesis/{id}/nodes` (POST)
* `/api/thesis/{id}/fork` (POST)
* `/api/thesis/{id}/publish` (POST / DELETE)
* `/api/thesis/{id}/prompt`
* `/api/thesis/{id}/positions` (GET / POST)
* `/api/thesis/{id}/positions/{posId}` (PATCH / DELETE)
* `/api/thesis/{id}/strategies` (GET / POST)
* `/api/thesis/{id}/strategies/{sid}` (PATCH / DELETE)
* `/api/thesis/{id}/videos` (GET / POST)
* `/api/thesis/{id}/video-data`
* `/api/thesis/by-ticker/{ticker}`

### Portfolio

* `/api/portfolio/state` (GET / PUT)
* `/api/portfolio/config` (GET / PUT)
* `/api/portfolio/ticks` (GET / POST)
* `/api/portfolio/ticks/{id}`
* `/api/portfolio/trades` (GET / POST)
* `/api/portfolio/trades/{id}`
* `/api/portfolio/views` (GET / POST / PUT / DELETE)
* `/api/portfolio/strategy` (GET / POST / PUT / DELETE)
* `/api/portfolio/secrets` (POST / DELETE — write-only)
* `/api/portfolio/trigger` (POST)

### Trade execution

* `/api/intents` (GET / POST)
* `/api/intents/{id}` (GET / PATCH / DELETE)
* `/api/runtime/exec` (POST / GET — local-runtime egress)

### Watch + alerts + webhooks

* `/api/watch` (GET / POST / PATCH / DELETE)
* `/api/watch/{id}`
* `/api/watch/{id}/refresh`
* `/api/watch/identify`
* `/api/watchlist`
* `/api/alert-rules` (GET / POST)
* `/api/alert-rules/{id}` (GET / PATCH / DELETE)
* `/api/alert-rules/{id}/test` (POST)
* `/api/alert-deliveries`
* `/api/alerts`
* `/api/webhook-endpoints` (GET / POST)
* `/api/webhook-endpoints/{id}` (PATCH / DELETE)
* `/api/webhook-endpoints/{id}/test` (POST)

### Forum

* `/api/forum/inbox`
* `/api/forum/messages` (GET / POST)
* `/api/forum/channels`
* `/api/forum/subscribe` (POST)

### Skills

* `/api/skill` (GET / POST)
* `/api/skill/{id}` (GET / PUT / DELETE)
* `/api/skill/{id}/fork` (POST)
* `/api/skill/{id}/publish` (POST / DELETE)

### Research

* `/api/monitor-the-situation` (POST)
* `/api/research-monitors` (GET / POST)
* `/api/research-monitors/{id}` (PATCH / DELETE)
* `/api/research-monitors/{id}/run` (POST)
* `/api/research/event` (POST)
* `/api/research/generate` (POST)
* `/api/research/market` (POST)
* `/api/research/market/{slug}`

### Auth and account

* `/api/auth/cli` (POST — initiate handshake)
* `/api/auth/cli/poll` (GET — wait for completion)
* `/api/auth/cli/complete` (POST — finalize)
* `/api/keys` (GET / POST)
* `/api/keys/{id}` (DELETE)
* `/api/feed` (auth required for user-scoped slice)
* `/api/prompt` (multi-thesis system prompt)

### X / social

* `/api/x/search`
* `/api/x/volume`
* `/api/x/news`
* `/api/x/account`

### Voice

* `/api/proxy/tts` (POST)
* `/api/proxy/stt` (POST)

## MCP tools

The MCP server exposes 101 tools at `https://simplefunctions.dev/api/mcp/{transport}` (`mcp` or `sse`). Each tool maps to a CLI command and / or a REST route above. Full input schemas live at [MCP tools reference](/reference/mcp-tools).

## CLI namespaces

`sf` ships \~150 commands. The full table is at [CLI command reference](/cli/command-reference). Top-level namespaces:

* `setup`, `login`, `logout`, `status`, `me`, `update`, `install-completion`
* `query`, `scan`, `screen`, `inspect`, `book`, `markets`, `newmarkets`, `cross-venue`, `contagion`, `yield-curve`, `regime`, `calendar`, `ideas`
* `world`, `world --delta`, `feed`, `prompt`, `agent`, `agent-info`, `bus`, `bus-send`
* `policy`, `bill`, `econ`, `fred`
* `me`, `feed`, `list`
* `thesis` (list / get / context / create / signal / evaluate / augment / publish / unpublish / heartbeat / fork / whatif), `ask`, `research`
* `intent` (buy / sell / list / status / cancel)
* `runtime` (start / stop / status)
* `buy`, `sell`, `cancel`, `rfq`
* `quoteengine`, `quote`
* `portfolio` (status / config / last / history / tick / trade / view / strategy / trigger / watch / enable / disable / revoke)
* `poly` (search / events / event / market / positions / activity / trades / value / books)
* `polyus` (markets / market / book / bbo / events / search / auth-check)
* `forum` (channels / inbox / post / join), `concepts`, `technicals`, `opinions`, `blog`
* `x`, `x-volume`, `x-news`, `x-account`
* `monitor`, `telegram`
* `tools`, `describe`, `guide`, `subscribe`, `discuss`, `calibration`

## Internal routes — intentionally not promoted

The following groups exist in code but are not external surfaces. Calling them directly is unsupported.

| Group                                                                    | Reason                                                                                                   |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| `/api/cron/*`                                                            | Scheduled jobs (`CRON_SECRET`-gated).                                                                    |
| `/api/dashboard/*`                                                       | Backs the web dashboard; same auth as a logged-in browser session.                                       |
| `/api/dashboard/admin/*`                                                 | Admin-only panels.                                                                                       |
| `/api/proxy/{chat-completions,llm,search}`                               | Internal LLM / search proxy used by the heartbeat and ideas pipelines.                                   |
| `/api/audit/trace/{id}`                                                  | Debug-only, gated by `CRON_SECRET`.                                                                      |
| `/api/ingest`, `/api/ops/inbound`, `/api/webhook/resend`                 | Inbound integrations (analytics, AgentMail, Resend).                                                     |
| `/api/articles`, `/api/notes`, `/api/timeline`, `/api/changes/annotated` | Web-render helpers.                                                                                      |
| `/api/markets/{id}/refresh*`                                             | Admin web-only.                                                                                          |
| `/api/topics/categorize`                                                 | Internal classifier.                                                                                     |
| `/api/secrets/store`, `/api/user/positions/sync`                         | CLI-internal helpers — wrap them via the CLI, not REST.                                                  |
| `/api/share`, `/api/signup`, `/api/status`                               | Web-only landing surfaces.                                                                               |
| `/api/newsletter/*`                                                      | Newsletter subscribe flow.                                                                               |
| `/api/curate/promote`                                                    | Editorial workflow.                                                                                      |
| `/api/ask-cli`, `/api/ask/*`                                             | Internal — use [`/ask`](https://simplefunctions.dev/ask) in a browser instead.                           |
| `/api/dashboard/keys/*`                                                  | UI-side key issuance — for programmatic key handling, see the [auth-cli handshake](/api-reference/keys). |

If a route in this section is genuinely useful to external users, file an issue and we will surface it as a first-class doc page.

## Reference

For SDK and Agent SDK work, the canonical machine-readable contract manifest is
`https://simplefunctions.dev/api/contracts/tools`.

`https://simplefunctions.dev/api/tools` remains the broad hosted compatibility
inventory used for HTTP-native and MCP-adjacent discovery. It is not the strict
SDK/Agent contract truth.
