BreethDocs v0.1

Quickstart

From signup to your first memory in under a minute.

End-to-end in five steps. Total time: under a minute.

1. Create an account

Go to thebreeth.com/auth/register and sign up. You're auto-provisioned into a personal team with a default project on the Hobby tier (10,000 writes / month, free).

2. Mint an API key

In the dashboard, open API Keys → New key. Give it a name, pick scopes (write is the minimum for ingestion; admin adds retraction). Copy the key starting with ck_live_… — it's shown once.

Save the key immediately

The plaintext is shown exactly one time. If you lose it, revoke and mint a new one.

3. Write your first memory

Replace <KEY> with your ck_live_… key.

curl -X POST https://api.thebreeth.com/v1/episodes \
  -H "Authorization: Bearer <KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Sridhar prefers async Rust over Go for IO-heavy services because tail latency matters more than ramp-up time.",
    "group_id": "default",
    "extract_intent": true
  }'
import httpx

r = httpx.post(
    "https://api.thebreeth.com/v1/episodes",
    headers={"Authorization": "Bearer <KEY>"},
    json={
        "content": "Sridhar prefers async Rust over Go for IO-heavy services because tail latency matters more than ramp-up time.",
        "group_id": "default",
        "extract_intent": True,
    },
)
print(r.json())
const r = await fetch("https://api.thebreeth.com/v1/episodes", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    content: "Sridhar prefers async Rust over Go for IO-heavy services because tail latency matters more than ramp-up time.",
    group_id: "default",
    extract_intent: true,
  }),
});
console.log(await r.json());

You should see a response with ok: true, the episode name, and the count of entities + edges extracted.

curl -X POST https://api.thebreeth.com/v1/search \
  -H "Authorization: Bearer <KEY>" \
  -H "Content-Type: application/json" \
  -d '{"query": "What does Sridhar think about Rust?", "limit": 5}'
r = httpx.post(
    "https://api.thebreeth.com/v1/search",
    headers={"Authorization": "Bearer <KEY>"},
    json={"query": "What does Sridhar think about Rust?", "limit": 5},
)
for edge in r.json()["edges"]:
    print(edge["fact"])
const r = await fetch("https://api.thebreeth.com/v1/search", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ query: "What does Sridhar think about Rust?", limit: 5 }),
});
const { edges } = await r.json();
edges.forEach(e => console.log(e.fact));

You get back a ranked list of edges. Each carries the fact, source/target entity names, and (if you opted into intent extraction) the cognitive pattern behind it.

5. Plug it into an agent

That's the loop. Write, retrieve, repeat.

On this page