Fact infrastructure for agentic companies.

Your agents are only as good as the facts they run on.

One API for your verified facts, over REST and MCP. Every agent, app and site reads them live.

Paste into your agent to set up

Watch the overview

Your team, agents, apps & sites. All running from one API.

If you run agents

You've already seen the mess.

Prompts

The price lives in fourteen system prompts. Three of them are wrong.

RAG

Retrieval returns last year's deck and this year's. The model picks one.

Memory

Memory recalls what someone said on a call, not what was decided.

Audit

An agent quotes a number to a customer. Nobody can say where it came from.

NOAN is the one place your agents read what's true, and the one place you change it.

Same agent, same request

With and without a fact layer.

request › Draft the renewal email for Acme on the Team plan.
Without NOAN Wrong
context: memory (3 calls) + docs (pricing-2025.pdf, sales-deck-v4.pdf)

“…your Team plan renews at $249/month, the same as last year…”

Quoted from a deck the price changed after. No source, no version, no owner.

With NOAN Correct
GET /v1/facts?block_slug=pricing · 1 fact · v3 · approved by Neal, 12 Jun 2026

“…your Team plan renews at $299/month, with up to 5 seats included…”

One call, one current fact, and the receipt to show for it.

Illustrative example.

Why a fact layer

Memory is what was said.
Facts are what's true.

MemoryRAGNOAN fact layer
HoldsWhat was saidWhat was writtenWhat was decided
When it changesAdds another memoryIndexes another documentA new version supersedes. The old one is kept, not obeyed
Two answersBoth recalledBoth retrievedOne current fact per block
Who stands behind itNobodyWhoever wrote the docA named person approved it
Who reads itOne assistantOne retrieval pipelineEvery agent, app and site, over one API

Keep your memory and your retrieval. NOAN sits underneath them as the record they defer to.

Quickstart

Three steps. No SDK.

01

Get a key

Create a project, then a key for each agent, app or site. Scope each key to the stacks it needs.

02

Read the current fact

One GET returns the latest approved version of each block, with who approved it and its sources.

Read
curl https://api.getnoan.com/v1/facts?block_slug=pricing \
  -H "Authorization: Bearer $NOAN_API_KEY"

{
  "items": [{
    "blockSlug": "pricing",
    "content": "Team plan: $299/month, up to 5 seats.",
    "approvedAt": "2026-06-12T14:02:00Z",
    "approvedBy": { "name": "Neal" },
    "sources": [{ "url": "https://getnoan.com/pricing" }]
  }]
}
03

Write back, safely

Agents post new versions. Require review on a key and its writes wait for a person to approve them before anything can read them.

Write
curl -X POST https://api.getnoan.com/v1/facts \
  -H "Authorization: Bearer $AGENT_KEY" \
  -d '{ "blockSlug": "pricing", "content": "Team plan: $349/month." }'

{ "blockSlug": "pricing", "pendingApproval": true }

The API

Plain REST. One key.

Bearer auth, JSON in and out. The model is a config choice, so swap it any time and the facts stay put.

Or connect over MCP

Claude, Cursor, Codex and any remote MCP client. Sign in over OAuth or send a key.

GET/v1/factsThe current approved fact for each block. Filter by block_slug.
POST/v1/factsA new version. It supersedes the last one and keeps the lineage.
GET/v1/facts/{id}/versionsEvery version of a fact, newest first.
GET/v1/stacks · /v1/blocksHow your facts are organized, so agents ask for exactly what they need.
GET/v1/tasksThe task board, with each task's assignees and tags, so an agent finds its own work.
POST/v1/notes · /v1/contactsWhat agents learn lands on the record, attributed to the key.

What NOAN handles

The parts you'd otherwise build.

Versioned facts

Nothing is overwritten. Every version keeps its date, its sources and its approver.

Review on write

Turn review on for a project or a single key. Agent writes wait for a person.

Scoped keys

One key per agent, app or site, limited to the stacks it needs.

Time Travel

See your whole fact base as it stood on any date, in the app.

Activity on the record

Every agent action lands on one timeline, marked by the key that made it.

Agent Skill

One SKILL.md teaches Claude Code, Codex, Cursor and 20+ agents the whole API.

Any model

Claude, OpenAI, Llama, Mistral. If it speaks REST or MCP, it reads the same facts.

A project per client

Building for clients? Each gets its own facts, keys and agents.

Plans

Start free. Scale when you ship.

Loading live pricing…

Questions

The short answers.

We keep it true. You keep shipping.