Investor Updates
API

REST and MCP. One credit wallet.

Drive Investor Updates from your own code or from any AI assistant — including the Ounie AI Team. Hit the REST endpoints with a bearer token, or connect over MCP for a native tool surface. Every action runs the same grounded pipeline and draws your shared Ounie credits (1 credit = 1¢), never overdrawing.

Authentication — two rails
Both rails resolve one Ounie account and draw its shared wallet.
ivu_live_…— this app's key

Mint it on Dashboard → API keys (shown once, up to 5 active). It lists, reads, exports, and manages recipients. It has no ounie.com credential, so it cannot generate a new update.

ounie_live_… — the fleet master key

Your ounie.com developer key. Enable fleet access on ounie.com and use it here to generate— it's forwarded upstream so the letter is grounded in your private brain and cited.

Pass either as Authorization: Bearer <key>, or append ?api_key=<key>to the URL when your client can't set headers. A bogus token returns 401.

MCP · for AI assistants and the Ounie AI Team
Streamable HTTP at /api/mcp (legacy SSE at /api/sse).
Endpoint  https://investor.ounie.com/api/mcp
Header    Authorization: Bearer ounie_live_…   # generate + everything
          Authorization: Bearer ivu_live_…     # read/list/export/recipients

# If your MCP client can't set headers, append the key as a query param:
https://investor.ounie.com/api/mcp?api_key=ounie_live_…
Connect the Ounie AI Team (TabTab)
{
  "mcpServers": {
    "investor-updates": {
      "url": "https://investor.ounie.com/api/mcp?api_key=ounie_live_…"
    }
  }
}
ToolWhat it doesCost
generate_updateWrite one cited investor update from your brain(s). Needs the master key.5 credits
regenerate_updateRe-compose an update from fresh retrieval (keeps recipients). Master key.5 credits
list_updatesList your updates, most recent first.free
get_updateOne update in full — the letter, citation URLs, DOCX export URL.free
add_recipientAdd an investor and mint their private /u view link.free
list_recipientsAn update's recipients + per-recipient view stats.free
get_credit_balanceSpendable Ounie credits + monthly included.free
get_pricingPer-action pricing. No auth required.public
whoamiThe authenticated key's owner + whether it can generate.free
REST · the same endpoints the dashboard uses
Send Authorization: Bearer <key> (or ?api_key=). Cookie sessions work too — it's the same route.
GET/api/brainsYour brains

Live from ounie.com. Cookie or master key. Free.

POST/api/updatesGenerate an update
{ "brain_ids": ["…"], "period_label": "June 2026", "brief": "lead with the hires" }

Bills 5 credits. Grounded + cited from your brains — needs a cookie session OR the master key (ounie_live_). A per-app ivu_live_ key gets 403 master_key_required. Thin material refunds fully (422). Returns { update_id, grounded }.

GET/api/updatesList updates

Free. Any key.

GET/api/updates/{id}One update

Free. Any key. Returns the full structured letter.

PATCH/api/updates/{id}Edit any field
{ "tldr": "…", "highlights": ["…"] }

Free — a plain edit of already-paid work.

POST/api/updates/{id}/regenerateRegenerate
{ "brief": "…" }

Bills 5 credits. Master key or cookie. Keeps recipients + links.

GET/api/updates/{id}/exportDownload DOCX

Free. Returns a Word document of the update.

GET/api/updates/{id}/recipientsList recipients

Free. Each recipient's view link + view stats.

POST/api/updates/{id}/recipientsAdd a recipient
{ "name": "Amara Okafor", "org": "Seedline Capital" }

Free. Mints their private /u/<token> link; returns { recipient }.

DELETE/api/updates/{id}/recipients/{rid}Remove a recipient

Free. Kills their link instantly.

Shape of a generated update
{
  "title": "Northwind — June 2026 investor update",
  "tldr": "Best month yet: MRR up 18% and two hires closed.",
  "metrics": [ { "label": "MRR", "value": "$42k", "detail": "+18% MoM" } ],
  "highlights": [ "Closed two engineering hires." ],
  "lowlights":  [ "Churn ticked up to 4%." ],
  "asks":       [ "Intros to fintech design partners." ],
  "thank_yous": [ "…" ],
  "citations":  [ { "brainId": "…", "slug": "…", "title": "…",
                    "url": "https://ounie.com/…" } ],
  "grounded": true,
  "docx_export_url": "https://investor.ounie.com/api/updates/…/export"
}

Metrics are built onlyfrom real numbers in your brain — a value the brain doesn't contain is never invented. Citations that don't resolve to a retrieved page are dropped.

No keyless x402 rail
Every action here is grounded in the caller's own private Ounie brain, so it can't run without an Ounie account — there is no keyless pay-per-call (x402) endpoint. Agent access is API keys / MCP, drawing your Ounie credits.