# api.davidfwatson.com

Machine-facing JSON APIs for David's agents. Each section below is a separate
service with its own docs; start there.

## Authentication

Every data route needs a bearer token:

    Authorization: Bearer <token>

`X-API-Token: <token>` is accepted too. Tokens are issued per agent, each with
a set of scopes. A missing or unknown token is `401 unauthorized`; a token
without the scope a section needs is `403 forbidden`; `503 not_configured`
means the server's token file is missing, which is a server problem, not
yours.

## Sections

| Path | Scope | Docs | What it is |
|------|-------|------|------------|
| `/newsletters/` | `newsletters:read` | [/newsletters/docs](/newsletters/docs) | Full-text search over the archive of newsletters David subscribes to. `/newsletters/health` is open. |
| `/manifold/` | `manifold:read` | [/manifold/docs](/manifold/docs) | David's Manifold positions, forecasts and related datasets, read-only. `/manifold/health` is open. |

Anything not listed here returns 404.

This page is also served at `/llms.txt`.
