Memory Store API

A personal, append-only fact store. Write snippets with optional tags, confidence scores, and decay rates. Retrieve by recency or full-text + tag search. Pin important memories, archive stale ones.

Get your API token

Create an account and subscribe ($9/month) to start using the API.

Core concepts

  • Append-only content — the content field never changes after creation. To correct a fact, archive the old one and write a new one.
  • Confidence (0.01.0) — how reliable you consider this fact. Defaults to 1.0.
  • Decay (decay_rate) — confidence reduced by this amount per day. A memory with confidence=1.0 and decay_rate=0.01 will have effective_confidence ≈ 0.9 after 10 days.
  • effective_confidence — always computed on read; never stored. max(0, confidence − days_since_created × decay_rate).
  • Status: active (default), pinned (surfaced first), archived (hidden from default queries).

1. Write a memory

POST https://abesttools.com/api/memory
ParamTypeRequiredDefaultDescription
contentstringYesThe fact or snippet (max 10 000 chars)
tagsstringNo""Comma-separated tags: geography,europe
confidencefloatNo1.0Initial confidence score (0.0–1.0)
decay_ratefloatNo0.0Confidence lost per day
tokenstringYes** or Authorization: Bearer
POST https://abesttools.com/api/memory
content=The capital of France is Paris&tags=geography,europe&confidence=0.99&token=YOUR_TOKEN

→ 201 Created
{
  "id": 42,
  "content": "The capital of France is Paris",
  "tags": ["geography", "europe"],
  "confidence": "0.990",
  "effective_confidence": 0.99,
  "decay_rate": "0.0000",
  "status": "active",
  "created_at": "2026-03-04 10:00:00",
  "updated_at": "2026-03-04 10:00:00"
}

2. Search memories

GET https://abesttools.com/api/memory/search
ParamTypeDefaultDescription
qstringFull-text search within content
tagsstringComma-separated tag filter (exact match, AND logic)
statusstringactive,pinnedComma-separated statuses to include
limitint20Max results (1–100)

At least one of q or tags is required. Pinned memories surface first.

GET https://abesttools.com/api/memory/search?q=capital&tags=europe&token=YOUR_TOKEN

→ 200 OK
{
  "count": 1,
  "memories": [
    { "id": 42, "content": "...", "effective_confidence": 0.99, ... }
  ]
}

3. Fetch recent / pinned

GET https://abesttools.com/api/memory/recent
ParamTypeDefaultDescription
statusstringactiveComma-separated statuses: active, pinned, archived
pinned_firstint1Set to 0 to disable pinned-first ordering
limitint20Max results (1–100)

4. Update status / confidence

PATCH https://abesttools.com/api/memory/{id}
or POST https://abesttools.com/api/memory/{id}/update
ParamTypeDescription
statusstringactive | pinned | archived
confidencefloatNew confidence score (0.0–1.0)
decay_ratefloatNew decay rate per day
PATCH https://abesttools.com/api/memory/42
Content-Type: application/x-www-form-urlencoded

status=pinned&confidence=0.95

→ 200 OK  { updated memory object }

5. Delete / archive

DELETE https://abesttools.com/api/memory/{id}[?permanent=1]
or POST https://abesttools.com/api/memory/{id}/delete[?permanent=1]

By default, deletion archives the memory (it disappears from active queries but is retrievable with status=archived). Pass ?permanent=1 to remove it from the database entirely.

DELETE https://abesttools.com/api/memory/42

→ 200 OK  { "archived": true, "id": 42 }

DELETE https://abesttools.com/api/memory/42?permanent=1

→ 200 OK  { "deleted": true, "id": 42 }

Error responses

StatusMeaning
401Invalid or missing API token
403Active subscription required
404Memory not found (or belongs to a different user)
422Missing required parameter or validation error
Create an account and subscribe to test the API.